ios - 如果我不设置LaunchImage,程序的窗口将无法正确初始化

标签 ios

最近遇到一个问题,我下载了一个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/

相关文章:

iOS >> 当通过 "sender"接近它们时,为什么不能直接在代码中设置 UIControls 属性?

ios - 如何去除 UIButton 中的左右边框?

ios - 如何获取Xcode构建目录?

ios - 处理 AVPlayer 停顿

objective-c - iOS 应用程序后台位置(推送通知)

cocoa-touch - 如何防止多次快速点击 UITableView 的编辑按钮导致应用程序崩溃?

iphone - 如何使用文档目录中存在的声音文件进行本地通知?

iphone - 如何在使用 facebook-ios-sdk 的应用程序中实现聊天

IOS核心数据删除没有 child 的父记录

ios - 如何永远在后台运行 iOS Core Location