为什么iPhone 8的屏幕尺寸报告为320x480?

时间:2018-03-26 22:03:54

标签: ios screen aspect-ratio

我继承了一款针对iPhone和iPad使用单独故事板的应用。都不使用autolayout。在viewDidLoad()中,我记录了UIScreen.main.bounds的值。

对于任何 iPhone(5s到X),记录的大小为320x480。在viewDidLayoutSubviews()之后,这不会改变。

当我从头开始创建应用程序时,我得到了预期的大小(例如iPhone 6到8的375x667)。

在我的手工制作应用程序中有什么不同,使得屏幕尺寸统一为1x iPhone的古老价值?

请注意,这与 view 调整大小无关 - 这是我们正在谈论的屏幕。同样,屏幕比例也没有明显的作用。

1 个答案:

答案 0 :(得分:2)

创建新项目时,如果它附带了启动图像的故事板,则会自动检测大小。

但是,对于使用Image Assets的旧项目,您需要提供启动屏幕的大小。 IE:屏幕尺寸正确的“默认”图像:

https://developer.apple.com/ios/human-interface-guidelines/icons-and-images/launch-screen/

静态启动屏幕图像。名称应为:“Default-XXXh@ResY.png”

其中XXX是高度,Y是分辨率。例如:

  • iPhone 6 Plus - 1242px x 2208px - Default-736h@3x.png
  • iPhone 6 - 750px x 1334px - Default-667h@2x.png