【发布时间】:2016-02-15 13:18:48
【问题描述】:
In order to get iPad Pro to use full resolution at launch, we have to use a Launch Screen File.
我以前从未使用过 Launch Screen XIB/Storyboard,因为我的应用向后兼容 iOS 7。通常我使用 LaunchImage asset catalog 为每个设备尺寸和启动方向定义特定的静态图像。
现在我正在尝试定义一个类似于 LaunchImage 资产目录的启动屏幕文件,但我很难做到。特别是:
1) 我没有看到根据设备的确切尺寸选择不同 UIImage 的好方法,例如向 iPhone 4S 用户显示一张图像,向 iPhone 5 用户显示另一张图像。
2) 我看不到为 iPad 纵向和 iPad 横向视图选择不同 UIImage 的方法。大小类似乎认为 iPad Portrait 和 iPad Landscape 都是“常规”宽度和“常规”高度,因此任何会显示在 iPad Portrait 上的 UIImage 也会出现在 iPad Landscape 中。
【问题讨论】:
-
从 iOS 8 开始,支持一切的首选方式是使用启动屏幕、大小类和自动布局,而不是提供静态资源。您是否正在寻求实施启动屏幕的帮助?有很多关于此的文档。如果您需要继续支持 iOS 7,您需要为支持的设备提供静态资源,您是否需要同时支持 iOS 7 和 8/9 的帮助?
-
@Jessedc 实现一个行为与启动图像完全相同的启动屏幕非常困难,例如显示 iPhone 4S 与 iPhone 5 的不同静态图像。通常,我不会打扰;如果您想要启动图像,只需使用启动图像,对吗?为什么要打扰启动屏幕?好吧,iPad Pro 就是这个问题的答案。我必须使用启动屏幕来获得 iPad Pro 的全分辨率。所以现在我尝试在 Launch Screen 的上下文中复制 Launch Image 的优势。
-
我很清楚,您是说您的要求是根据设备类型和启动方向显示完全不同的启动屏幕内容?此外,您的参考实现是通过拥有 Default.png 图像并相应地命名它们所展示的行为(例如 Default-Portrait@2x~ipad.png)。我说的对吗?
-
@Jessedc 是的。 (从技术上讲,我使用的是“LaunchImage”资产目录,但这是相同的想法。)我已经更新了问题以包含说明。
-
这似乎是不可能的。我提出了另一个相关问题:Force iPad Pro to full resolution without Launch Screen
标签: ios xcode interface-builder