最近遇到一个问题,我下载了一个Demo,但是在初始化的时候,发现它的屏幕总是比手机屏幕小。当我尝试了多种方式后,终于发现,因为我没有没有设置 LaunchImage
但问题是,我平时写的小demo都是在没有设置LaunchImage的情况下,为什么这些小Demo显示是正确的?
为什么LaunchImage会导致界面显示异常?
最佳答案
如果它看起来可能是按比例放大的,并且“屏幕较小”意味着在代码中它的尺寸(以磅为单位)小于应有的尺寸,那么这似乎是一个可以追溯到 iPhone 5 发布的问题在它问世之前,所有 iPhone 的屏幕尺寸(以点为单位)都是相同的:320x480。然后是 iPhone 5 及其新的屏幕尺寸:320x568。苹果必须确保之前发布的所有应用程序都能正常运行,并且它们的布局不会在比设计尺寸稍大的屏幕上变得疯狂。
解决方案是在新 iPhone 5 上显示“旧”应用程序,并在顶部/底部添加黑条,以便它们的大小可以保持与以前相同。应用程序需要明确指定对 iPhone 5 屏幕的支持才能在整个屏幕上显示,您指定的方式是添加一个适合 iPhone 5 大小的 LaunchImage。缺少该 LaunchImage 意味着应用程序必须用以下方式显示黑条。 iPhone 6 和 6+ 也发生了同样的情况,它们都引入了新的屏幕尺寸,但仍然需要支持之前发布的旧应用程序。
我这边的猜测(如果有人对此事有更好的信息,请随意编辑/评论)是,也许您在较新版本的 XCode 中做了其他演示,默认情况下假设您的应用程序将支持所有当前的屏幕尺寸。如果您下载的演示项目是在较旧的 XCode 版本中制作的,那么如果您没有特定的 LaunchImages,它不会覆盖这些设置以不支持更大的屏幕。
关于ios - 如果我不设置LaunchImage,程序的窗口将无法正确初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41571581/