iOS 启动图像混淆

Posted

技术标签:

【中文标题】iOS 启动图像混淆【英文标题】:iOS Launch Image Confusion 【发布时间】:2014-08-04 05:43:54 【问题描述】:

我已阅读有关启动图像的每篇文章,但我仍然对状态栏感到困惑。我了解 iPad 启动图像应不包括状态栏,而 iPhone 启动图像应包含状态栏。我可以看到 iPad 的图像大小已经把状态栏的大小去掉了,所以没问题。

但是,我在我的 iPhone 启动图像中加入了状态栏,但是当应用程序启动时,实际的设备状态栏似乎渗出,好像我的图像上的状态栏随着启动图像的消失而消失,这看起来很糟糕。

我的问题是,让 iPhone 图像的大小正确但实际上不显示图像中的状态栏(即,在我的情况下,它只是纯白色)是否可以接受?

在我的情况下,这将创建一个更好看的启动图像,但我不清楚苹果在这里想要什么。谢谢。

编辑:

显然,现在所有启动图像都需要包含状态栏,包括 iPad。我想这随着 XCode5 改变了。

https://developer.apple.com/library/ios/documentation/userexperience/conceptual/mobilehig/LaunchImages.html

【问题讨论】:

【参考方案1】:

自从 iOS 7 引入透视状态栏以来,这一直是个问题。

您必须编写一些代码来为您的应用创建一个特殊的初始界面,以便它在启动时隐藏状态栏并且您可以截屏。 (这似乎确实是您提出的策略。)

或者,有时可能,截取屏幕截图,然后用正确颜色的矩形覆盖 Photoshop 或类似的状态栏。

问题在 Xcode 6 中得到解决或接近解决,您可以在其中直接根据 Interface Builder 提供的界面预览制作启动图像。由于启动图像通常是界面的一个非常基本的版本,并且由于 Xcode 6 允许您使用prepareForInterfaceBuilder 绘制预览细节,因此通常可以创建一个好的启动图像,而无需费心编写备用启动例程来获取屏幕截图。

【讨论】:

所以,我提供了启动图像,其中我刚刚将图像的状态栏部分(与我的应用程序的背景匹配)变白了。但是所有图像都将与屏幕大小相同,因为当我试图从 iPad 图像中裁剪状态栏时,XCode 给了我一个警告,它的大小不正确。看起来好像我在互联网上的某个地方得到了不正确的 iPad 尺寸。感谢大家的回答。【参考方案2】:

很简单:包括状态栏区域,但不包括状态栏的实际内容。例如,iPhone 5 的启动图像为 640 x 1136 像素。

如果您的状态栏背景颜色不固定,您应该使用SDScreenshotCapture 之类的东西来截取屏幕截图。这个类创建一个没有状态栏内容的截图。

【讨论】:

以上是关于iOS 启动图像混淆的主要内容,如果未能解决你的问题,请参考以下文章

iOS应用程序启动图像后杀死

在应用程序启动时将图像预加载到内存缓存中,使用 iOS 的 Objective c

iOS 7 / Xcode 5:以编程方式访问设备启动图像

启动应用程序后启动图标略有不同

没有情节提要或图像的 iOS 启动图像

如何在 iOS 8 上强制启动图像而不是启动屏幕?