iOS 通用图像资产

iOS Universal Image Assets

对于一个新项目,我的客户希望涵盖所有 iPhone 和 iPad 尺寸。对于图标和 sprite,我真的不会改变图像的形状,但我的背景图像资源很紧张。

查看 http://iosres.com 我想知道是否有某种逻辑可以在一个资产中涵盖横向和纵向 3:4 和 9:16,或者我应该简单地制作一组 iPhone 和 iPad 并使用 UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad 来确定在加载我的视图之前要显示什么?

我还想知道什么对所有不同的设备尺寸最有效。我从经验中知道 iPad 3 不希望以 4k 分辨率加载背景图像,并且您想避免像素差异,因此它不会触发 UIImageViews 中的缩放。 iOS 会自动计算出 iPad 3 会像 @1x 变体一样使用,而 iPad Pro 会加载 @3x 版本吗?

是 iOS 将自动确定在运行时加载哪个图像,并根据设备类型加载@1x @2x 或@3x。您无需为每张图片执行 UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad 之类的操作。

编辑:

您还可以在图片名称中添加 ~ipad 后缀,以便 iOS 为 iPhone 和 iPad 选择合适的背景图片。即 image_name@2x~ipad.pngimage_name@2x.png