<分区>
Possible Duplicate:
How to deal with iPhone 5 screen size?
因此,随着今天发布的 iPhone 5 和更大的屏幕高度,我们如何在我们的应用程序中适应不同 iPhone 型号的不同屏幕尺寸。我了解未针对 iPhone 5 更新的应用程序将被“信箱化”,但向后兼容性如何?
有没有办法检查该应用程序是否在 iPhone 3、4 或 5 上运行?
<分区>
Possible Duplicate:
How to deal with iPhone 5 screen size?
因此,随着今天发布的 iPhone 5 和更大的屏幕高度,我们如何在我们的应用程序中适应不同 iPhone 型号的不同屏幕尺寸。我了解未针对 iPhone 5 更新的应用程序将被“信箱化”,但向后兼容性如何?
有没有办法检查该应用程序是否在 iPhone 3、4 或 5 上运行?
最佳答案
您通常不需要它,因为检查硬件不是正确的方法。
如果您需要根据屏幕尺寸在您的应用中做出决定,例如适应您的 UI 的屏幕尺寸,您应该……测试屏幕尺寸,而不是在硬件上设置一些条件。始终测试真正必要的内容。
为此使用[UIScreen mainScreen].bounds
(你应该一直这样做)。请注意,即使在 iPhone 5 之前,人们也可以将其 iPhone 连接到视频投影仪或外部屏幕上,并在分辨率与 iPhone 不同的屏幕上显示其应用程序。这就是为什么我希望你永远不要在你的代码中使用魔数(Magic Number)(如果你这样做了,你现在知道它为什么不好了 ;))并且已经在使用常量或在运行时询问你的屏幕大小。
无论如何,为了适应不同的屏幕尺寸,如果您在 View 中正确配置了autoresizing mask,您的应用程序将自动调整大小。您只需提供一个 Default-h568@2x.png
启动图像,您的应用将占据 4"屏幕的全尺寸。
此外,从 iOS6 开始,您将能够使用 AutoLayout 对 View 进行更精细的约束布局。请参阅详细解释它的 WWDC'12 视频 session 。
关于iphone - 确定 iPhone 设备的型号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12397403/