如何开发或迁移iPhone 5屏幕分辨率的应用程序?

新的iPhone 5显示屏具有新的宽高比和新的分辨率(640 x 1136像素)。

开发新的或已有的应用程序到新的屏幕尺寸需要什么?

我们应该记住什么让应用程序对旧显示器和新宽屏高宽比具有“通用性”?


  • 下载并安装最新版本的Xcode。
  • 为您的应用程序设置启动屏幕文件(在目标设置的常规选项卡中)。 这就是你如何使用任何屏幕的全尺寸,包括iOS 9中的iPad拆分视图尺寸。
  • 测试你的应用程序,并希望别的什么都不要做,因为如果你已经正确设置了自动调整大小的掩码,或者使用了自动布局,所有东西都应该可以神奇地工作。
  • 如果没有,请调整视图布局,最好使用自动布局。
  • 如果您需要为大屏幕做某些事情,那么看起来您必须检查[[UIScreen mainScreen] bounds]高度,因为似乎没有特定的API。 从iOS 8开始,还有尺寸类别将屏幕尺寸抽象为垂直和水平方向的常规或紧凑尺寸,并且是推荐的用于调整UI的方法。

  • 如果您有为iPhone 4S或更早版本构建的应用程序,它将在iPhone 5上运行letterbox。

    要使您的应用适应新的更高屏幕,首先要将启动图像更改为:Default-568h@2x.png。 它的大小应该是1136x640(HxW)。 是的,在新的屏幕尺寸下显示默认图像是让您的应用程序获得全新iPhone 5屏幕的关键。

    (请注意,命名约定仅适用于默认图像,命名另一个图像“Image-568h@2x.png”不会导致它被加载,而不是“Image@2x.png”。如果您需要加载不同的图像对于不同的屏幕尺寸,您必须以编程方式执行此操作。)

    如果你非常幸运,那可能是......但很可能, 你必须采取更多的步骤。

  • 确保你的Xibs / Views使用自动布局来调整自己的大小。
  • 使用弹簧和支柱来调整视图的大小。
  • 如果这对于您的应用程序来说不够好,请为您的xib / storyboard设计一个特定的屏幕大小,然后以编程方式为另一个屏幕大小重新定位。
  • 在极端情况下(以上都不满足时),设计两个Xib并在视图控制器中加载相应的Xib。

    检测屏幕尺寸:

    if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
    {
        CGSize result = [[UIScreen mainScreen] bounds].size;
        if(result.height == 480)
        {
            // iPhone Classic
        }
        if(result.height == 568)
        {
            // iPhone 5
        }
    }
    

    唯一真正需要做的是向应用程序资源中添加一个名为“Default-568h@2x.png”的启动映像,并且在一般情况下(如果您足够幸运),该应用程序将正常工作。

    如果应用程序不处理触摸事件,请确保关键窗口尺寸合适。 解决方法是设置适当的框架:

    [window setFrame:[[UIScreen mainScreen] bounds]]
    

    在迁移到iOS 6时,还有其他与屏幕大小无关的问题。有关详细信息,请阅读iOS 6.0发行说明。

    链接地址: http://www.djcxy.com/p/39473.html

    上一篇: How to develop or migrate apps for iPhone 5 screen resolution?

    下一篇: UIScrollView paging slow animation