我需要创建一个可以在 iPhone 4S、5,5S、6、6+ 上运行的应用程序,部署目标是 iOS 7.1。我看到 Apple 引入了 LauchScreens.xib 来创建启动屏幕(启动屏幕),并且还有一个图像资产,我可以在其中提供启动图像屏幕。见下图:
所以我的问题是如何为所有 iPhone 使用启动画面?或者我应该说,当我使用 Xcode 6 时,这样做的标准方法是什么?
我一直在寻找答案并阅读博客和 Apple 的文档,但我没有找到任何东西。一切都在唱自己的歌,但不是答案。
我需要创建一个可以在 iPhone 4S、5,5S、6、6+ 上运行的应用程序,部署目标是 iOS 7.1。我看到 Apple 引入了 LauchScreens.xib 来创建启动屏幕(启动屏幕),并且还有一个图像资产,我可以在其中提供启动图像屏幕。见下图:
所以我的问题是如何为所有 iPhone 使用启动画面?或者我应该说,当我使用 Xcode 6 时,这样做的标准方法是什么?
我一直在寻找答案并阅读博客和 Apple 的文档,但我没有找到任何东西。一切都在唱自己的歌,但不是答案。
在所有设备启动画面的Xcode6中,您需要为每个设备大小的视网膜和非视网膜制作启动图像。
完成此操作的最佳方法是使用目标中的资产目录->一般,如下面的屏幕截图:
当您点击 launchImage (->) 附近的右侧小箭头时,您可以看到以下窗口:
目前是空的,因为从右侧没有选择任何目标,所以如果您的部署目标是 6.0,您需要像下面的屏幕截图一样设置复选标记,这样您就可以看到所有图像需要框:
查看当您在目录中添加错误尺寸图像时,您会在右上角收到警告,当您点击此警告时,您可以获得实际尺寸。请参阅以下屏幕截图:
因此,从警告日志中您可以知道哪个启动画面需要哪个维度的图像。
另一种方式
无需使用 Asses Catalog 也无需使用LaunchScreen.xib您仍然可以使用旧方式:
创建具有以下大小的启动画面图像:
Default-568h.png 320 x 568
Default-568h@2x.png 640 x 1136
Default-667h@2x.png 750 x 1334
Default-736h@3x.png 1242 x 2208
Default.png 320 x 480
Default@2x.png 640 x 960
现在在 plist 中,您需要添加以下数据:
UILaunchImages
那就是不需要做任何事情,希望答案对其他人也有帮助。
在 Xcode 6.4 中,截至 2015-07-06 (yyyy-mm-dd),我使用了启动图像而不是启动屏幕文件 (.xib)。这是针对 iOS 7.1+。
首先,从 Launch Screen File 下拉菜单中删除该条目。将此留空,如果它指向 .xib,则 .xib 将覆盖启动图像源。这是 Target / General / App Icons 和 Launch Images 中的设置。
其次,在 Images.xcassets 中选择中间窗格底部的“+”后,创建一个新的启动图像(不是新的图像集)。这是选择“+”后的弹出窗口。
第三,在新的 Launch Image 中,将有 20 个方块,每个方块都要求 .png 文件。现在您需要创建 20 个大小正确的 .png 文件。我使用 Pixelmator 并将每个文件导出为 .png。但什么是“正确的尺寸”?见下文。
启动图像正确尺寸图表 '*无状态栏
从现在开始我一直在玩 Xcode 6,我发现它只LaunchScreen.xib
适用于iOS 8
,所以如果你想为你的所有设备提供启动图像,你的应用程序支持你可以做如下..
对于使用 iOS 7 的设备,您可以照常进行,我们过去使用images.xcassets
对于iOS 8 设备,您有两种方法..
只需您可以使用LaunchScreen.xib
.
这张图片显示了 Xcode 如何默认设置LaunchScreen.xib
iOS 8 启动屏幕文件。
LaunchScreen.xib
为启动屏幕文件并想在 iOS 7 设备中显示一些启动图像,那么只需删除启动屏幕文件名并将其设为空白(见下图)并LaunchScreen.xib
从Xcode
. 在这种情况下,iOS 8 设备也会从images.xcassets
.
从 iOS 8 开始,制作初始屏幕的新方法是定义一个LaunchScreen.xib
文件。这也可以作为 XCode 6 中的新资源文件类型使用。
这个新的 XIB 将使用 AutoLayout 和新的尺寸类来确定您想要如何布局您的启动屏幕。
如果您想支持旧设备,目前还不清楚它的向后兼容性将如何工作。我想这行不通。
您可以在 XCode 项目的目标属性第一个屏幕中设置 launch.xib。
如果您想使用旧方式,您仍然可以定义启动图像作为启动图像使用,这将继续得到完全支持。据我所知,如果您想支持旧的 iOS 版本,这仍然是唯一的方法。
请注意,如果您想支持 iPhone 6 / 6 Plus 的新分辨率,那么您必须定义启动 xib 或将正确大小的 PNG 放入您的资产目录,否则您将获得旧应用程序的模糊自动缩放 UI兼容模式。