我正在尝试在打算为 iOS 设备部署的本机应用程序上设置启动画面。
众所周知,有几个不同的屏幕可供定位(因像素密度、纵横比和其他因素而异),所以我必须提供一些图像。似乎至少有三种方法可以提供允许 iOS 决定在任何场景中使用哪个图像的映射;我的理解是,这些方法中的任何一种本身就足够了:
- 将所有图像文件放在 Xcode 项目的根目录下,根据特定的约定(
Default.png
、Default@2x~ipad.png
、Default-568h@2x.png
等)命名它们 - 在项目的 Info.plist 中定义一个
UILaunchImages
字典项,每个场景都有一个字典条目指向所需的图像 - 在资产目录中创建“LaunchImage”类型的项目,将图像拖放到每个场景的占位符上,然后指向项目目标的“App Icons and Launch Images”配置中的 LaunchImage 项目
我的强烈偏好是使用第三种方法,这在很大程度上是因为在定义每个显示场景的识别特征方面,它需要的技术精度最低。但是当我在我的 iPhone5 上测试时它不起作用——启动画面是黑色的,而不是显示我的彩色图像。我在 LaunchImage 板上的每个位置都放置了一个图像,这表明 Xcode6 附带的 LaunchImage 骨架根本没有对应于 iPhone5 的位置。这不可能。(是的,我的图片是 PNG。)
很多教程告诉我在资产目录中创建一个新的图像集(它有一个不同的骨架),但是“应用程序图标和启动图像”配置只允许我选择是 LaunchImages 的项目。
网上有很多资源记录了前两种方法——即依赖文件系统约定,或在 Info.plist 中定义映射——但似乎没有任何东西真正解决资产目录方法。
有人可以指出我正确的方向吗?
编辑:有趣的是,当我将我的@1x 图像放在 LaunchImage 板上的每个位置时,该项目无法构建,因为“没有适用的内容”。当我将我的@2x 图像放入所有 Retina 点时,应用程序会构建,但初始屏幕是黑色的。
这是否揭示了什么?