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