我继承了一款针对iPhone和iPad使用单独故事板的应用。都不使用autolayout。在viewDidLoad()
中,我记录了UIScreen.main.bounds
的值。
对于任何 iPhone(5s到X),记录的大小为320x480。在viewDidLayoutSubviews()
之后,这不会改变。
当我从头开始创建应用程序时,我得到了预期的大小(例如iPhone 6到8的375x667)。
在我的手工制作应用程序中有什么不同,使得屏幕尺寸统一为1x iPhone的古老价值?
请注意,这与 view 调整大小无关 - 这是我们正在谈论的屏幕。同样,屏幕比例也没有明显的作用。
答案 0 :(得分:2)
创建新项目时,如果它附带了启动图像的故事板,则会自动检测大小。
但是,对于使用Image Assets的旧项目,您需要提供启动屏幕的大小。 IE:屏幕尺寸正确的“默认”图像:
https://developer.apple.com/ios/human-interface-guidelines/icons-and-images/launch-screen/
静态启动屏幕图像。名称应为:“Default-XXXh@ResY.png”
其中XXX是高度,Y是分辨率。例如: