我只是想知道我们应该如何处理 iPhone 5 更大的屏幕尺寸。
由于它在高度上有更多像素,因此使用坐标的 GCRectMake 之类的东西(并且由于视网膜/非视网膜问题只是将像素加倍)将无法在版本之间无缝工作,就像我们得到Retina时发生的那样。
我们是否必须像 iPad 一样设计两个故事板?
我个人认为Apple不会要求您每次必须绘制某些东西时都检查屏幕尺寸,就像许多答案所说的那样。iPad会发生这种情况吗?
从我今天的演示中可以看出,所有应用程序都将继续在垂直拉伸的屏幕上运行。它们将被装上信箱,或者基本上额外的 88 点高度将只是黑色。
如果你只打算支持 iOS 6+,那么一定要考虑使用 Auto Layout。它删除了所有固定的布局处理,而是使用约束来布局。没有什么是硬编码的,你的生活会变得简单得多。
但是,如果您必须支持较旧的 iOS,那么这实际上取决于您的应用程序。大多数使用标准导航栏和/或标签栏的应用程序可以简单地扩展中间的内容以用完这些额外的点。将中心内容的自动调整大小掩码设置为双向扩展。
view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
它对表格视图开箱即用效果很好,但是,如果您的应用程序使用像素完美的布局来显示内容,那么您最好的选择是重新构想内容,以便它可以适应不同的高度。
如果这不可能,那么剩下的唯一选择就是拥有两个 UI(iPhone 5 之前和 iPhone 5)。
如果这听起来很难看,那么您可以使用默认的信箱模型,其中额外的点/像素只显示为黑色。
编辑
要使您的应用程序能够在 iPhone 5 上运行,您需要添加启动器图像的视网膜版本。它应该被命名为Default-568h@2x.png. 而且它必须是视网膜质量 - 这里没有向后兼容性:)
Default-568h@2x.png
你也可以从 Xcode 中选择这个图像。转到目标,然后在 Summary 部分下,查找 Launch Images。图像的大小必须为 640x1136 像素。如果有帮助,这是在哪里找到它的屏幕截图。