我们希望支持iOS 6到iOS 8.据我所知,这意味着我们需要创建十个启动图像。
我希望我可以在每个比例下生成最大尺寸的图像,而iOS只会对其他尺寸的图像进行下采样。这样可以避免我向我的应用添加五个以上的启动图像,节省下载量。
是否可以使用Xcode 6的新功能replace my launch images with storyboards(又名UILaunchStoryboardName)来做我想要的事情?
似乎非常接近,但我无法弄清楚怎么说,“在2x3,使用图像X;在9x16,使用图像Y;在3x4,使用图像Z”等等。大小类似乎不能让我干净地表达这个概念。 (或他们呢?)
答案 0 :(得分:1)
以下是执行此操作的一种方法...在现有资产目录或新资产目录中创建新图像集。默认情况下,右侧窗格中新图像集的“设备”字段将设置为“通用”,因此您应在主视图中看到三个图像井:1x,2x和3x。你想要的是将Devices字段设置为Device Specific,然后在该字段下面检查iPhone,Retina 4英寸和iPad。然后,您将看到六个图像井。 iPhone有4种:1x,2x,Retina 4 2x和3x。 iPad有两种:1x和2x。现在,您所要做的就是将各种设备特定尺寸的相同启动图像的版本拖动到适当的图像孔中。完成后,转到启动屏幕XIB,默认设置为任意宽度和任意高度,并添加UIImageView,将图像设置为与刚创建的图像集同名。调整图像以使其与封闭视图具有相同的大小,添加常量值为0的顶部,前导,底部和尾部约束,以便无论设备如何,图像大小都会根据视图大小进行调整。在您的设备上运行该应用程序,您应该在启动时看到正确的启动。您可以在AppDelegate代码的顶部设置断点,例如在var窗口下面:UIWindow?声明(或等效,如果使用Objective C),因此您可以验证不同类型的设备上的启动。请注意,图像可能无法在模拟器中工作,因此请尝试使用设备。我猜这是模拟器中的一个错误,或未实现的功能。
我不确定的一件事是在哪里为iPhone 6指定图像。似乎只有iPhone 4-pres,iPhone 4s,iPhone 5,iPhone 6 Plus,iPad和iPad的设备专用图像井视网膜尺寸。