35

我需要创建一个可以在 iPhone 4S、5,5S、6、6+ 上运行的应用程序,部署目标是 iOS 7.1。我看到 Apple 引入了 LauchScreens.xib 来创建启动屏幕(启动屏幕),并且还有一个图像资产,我可以在其中提供启动图像屏幕。见下图:

在此处输入图像描述

所以我的问题是如何为所有 iPhone 使用启动画面?或者我应该说,当我使用 Xcode 6 时,这样做的标准方法是什么?

我一直在寻找答案并阅读博客和 Apple 的文档,但我没有找到任何东西。一切都在唱自己的歌,但不是答案。

4

4 回答 4

68

在所有设备启动画面的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

在此处输入图像描述

  • 你需要像下面这样填写这一行

在此处输入图像描述

那就是不需要做任何事情,希望答案对其他人也有帮助。

于 2015-01-28T06:19:08.597 回答
36

在 Xcode 6.4 中,截至 2015-07-06 (yyyy-mm-dd),我使用了启动图像而不是启动屏幕文件 (.xib)。这是针对 iOS 7.1+。

首先,从 Launch Screen File 下拉菜单中删除该条目。将此留空,如果它指向 .xib,则 .xib 将覆盖启动图像源。这是 Target / General / App Icons 和 Launch Images 中的设置。 /Users/patrickweigel/Desktop/Scr​​een Shot 2015-07-06 at 10.20.36 AM.png

其次,在 Images.xcassets 中选择中间窗格底部的“+”后,创建一个新的启动图像(不是新的图像集)。这是选择“+”后的弹出窗口。 在此处输入图像描述

第三,在新的 Launch Image 中,将有 20 个方块,每个方块都要求 .png 文件。现在您需要创建 20 个大小正确的 .png 文件。我使用 Pixelmator 并将每个文件导出为 .png。但什么是“正确的尺寸”?见下文。 在此处输入图像描述

启动图像正确尺寸图表 在此处输入图像描述 '*无状态栏

于 2015-07-06T15:47:49.233 回答
30

从现在开始我一直在玩 Xcode 6,我发现它只LaunchScreen.xib适用于iOS 8,所以如果你想为你的所有设备提供启动图像,你的应用程序支持你可以做如下..

对于使用 iOS 7 的设备,您可以照常进行,我们过去使用images.xcassets 在此处输入图像描述

对于iOS 8 设备,您有两种方法..

  1. 只需您可以使用LaunchScreen.xib. 在此处输入图像描述 这张图片显示了 Xcode 如何默认设置LaunchScreen.xibiOS 8 启动屏幕文件。

    1. 如果您不想设置LaunchScreen.xib为启动屏幕文件并想在 iOS 7 设备中显示一些启动图像,那么只需删除启动屏幕文件名并将其设为空白(见下图)并LaunchScreen.xibXcode. 在这种情况下,iOS 8 设备也会从images.xcassets. 在此处输入图像描述
于 2014-10-10T07:21:59.907 回答
4

从 iOS 8 开始,制作初始屏幕的新方法是定义一个LaunchScreen.xib文件。这也可以作为 XCode 6 中的新资源文件类型使用。

这个新的 XIB 将使用 AutoLayout 和新的尺寸类来确定您想要如何布局您的启动屏幕。

如果您想支持旧设备,目前还不清楚它的向后兼容性将如何工作。我想这行不通

您可以在 XCode 项目的目标属性第一个屏幕中设置 launch.xib。

如果您想使用旧方式,您仍然可以定义启动图像作为启动图像使用,这将继续得到完全支持。据我所知,如果您想支持旧的 iOS 版本,这仍然是唯一的方法。

请注意,如果您想支持 iPhone 6 / 6 Plus 的新分辨率,那么您必须定义启动 xib 或将正确大小的 PNG 放入您的资产目录,否则您将获得旧应用程序的模糊自动缩放 UI兼容模式。

于 2014-09-22T07:59:28.983 回答