我想创建一个没有故事板的项目。
我已经删除了Main和LaunchScreen故事板。
像往常一样,我添加到了applicationDidFinishLaunchingWithOptions:
window = UIWindow(frame: UIScreen.main.bounds
window?.rootViewController = ViewController()
window?.makeKeyAndVisible()
现在在项目设置->常规中,如果我将启动屏幕文件留空UIScreen.main.bounds
是
(CGRect) $R12 = (origin = (x = 0, y = 0), size = (width = 320, height = 480))
然后我得到以下屏幕:
现在,如果我将某些内容添加到Launch Screen File
字段中,则在Info.plist->信息属性列表中,将出现一个带有键Launch screen interface file base name
的新行,并且边界是正确的。即使该值为空,边界也是正确的。
为什么Launch screen interface file base name
的存在会影响UIScreen的边界?
答案 0 :(得分:5)
它始于iOS 8.0,当时iPhone 6 / 6plus发行了(TheFuquan用户评论说它始于iPhone 5版本)。那时,如果您想支持这种新设备,肯定会需要,因为需要,以添加适当的启动屏幕。通过支持的每个设备使用大小不同的静态图像,或者通过xib / storyboards。
现在,您已经回答了困惑。解决该问题的方法是提供适当的启动屏幕/图像。
Apple的人机界面指南(启动屏幕):https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/launch-screen/