您如何设置“图像集”以匹配所有设备的启动图像文件?

Posted

技术标签:

【中文标题】您如何设置“图像集”以匹配所有设备的启动图像文件?【英文标题】:How do you set up 'image sets' to match launchImage files for all devices? 【发布时间】:2017-11-12 16:22:42 【问题描述】:

注意:此问题与启动图像故事板无关。

信息:BG Buddy 是一款仅限横向的应用。启动屏幕使用 launchImage.xcassets 文件中的图像。

启动图像转换为包含全屏 UIImageView 的 UIViewController,该 UIImageView 具有与启动图像中使用的相同的 BG 好友背景图像,以及一些文本 UIButton。这给人的印象是,在应用加载后不久,按钮就会出现在背景图像的顶部。

以下是自应用发布以来 BG Buddy 背景图像集的设置方式。从 Launch Image 到 UIViewController 的转换在 iPad、iPhone 5、6、7、8 和 6、7、8 Plus 上完美运行。

iPhone X 和 iPhone Plus 似乎都使用 iPhone 3x 图像插槽,但两者的尺寸却大不相同。我已经打开了其他大小类的位置,并试图找到一个混乱且没有成功的地方。注意:除 iPhone Plus 之外的所有 iPhone 在横向模式下都使用紧凑宽度/紧凑高度尺寸等级。 iPhone Plus 在横向使用常规宽度/紧凑高度。

那么如何设置“图像集”文件以匹配所有设备的启动图像文件?

目前我可以有一个良好的 iPhone X 过渡或一个良好的 iPhone Plus 过渡,但不能两者兼而有之。

我唯一的选择是尝试检测它是否是 iPhone X(或 iPhone Plus)并以编程方式交换图像?

【问题讨论】:

【参考方案1】:

因此,这是仅适用于横向应用的解决方案。希望它也对纵向方向有所帮助。横向定制的启动图像应按照这些宽度/高度类设置放置。

使用问题顶部的 launchImage.xcassets 屏幕截图来设置您的 launchImage.xcassets。

【讨论】:

以上是关于您如何设置“图像集”以匹配所有设备的启动图像文件?的主要内容,如果未能解决你的问题,请参考以下文章

iOS 7 / Xcode 5:以编程方式访问设备启动图像

在 Xcode 6 中创建新的资产目录/图像集

除了启动图像和应用程序图标之外,我可以使用资产目录来管理图像吗?

您如何以编程方式将图像设置为在每个设备上具有相同的相对大小和位置?

如何为 iOS 应用程序的不同设备设置不同的启动文件(xib,而不是启动图像)

如何在 iOS 8 上强制启动图像而不是启动屏幕?