澄清一下,我不是指应用程序图标、启动图像等。而是应用程序内部的图像,比如UIButton背景图像。
我看到了新iPhone 6和6+的图像分辨率,是否支持@3x?,但它没有回答我的问题。
是的,你可以,但最好不要这么做。
如果你只添加 @3x 图片,它将减小你的束大小并与所有屏幕密度兼容。
更新: 自 iOS 9 起,苹果引入了应用程序瘦身功能,这意味着包含更多图像尺寸将不再增加您的软件包大小。应用商店会自动为每个特定设备生成一个精简二进制文件,并仅包括适当的 @3x 或 @2x 图像尺寸。
如果你需要支持旧设备,我不建议只使用 @3x 。只嵌入 @3x 图片会导致你的图片在每次运行应用程序时被缩小。这种方法有以下缺点:
如果你关心你的应用程序在大多数设备上看起来清晰流畅,我强烈建议你至少将你的图像导出为 @2x 和 @3x 屏幕密度。根据项目的兼容性需求,我有时选择不导出 @1x 。
如果你只针对运行 iOS 7+ 的 iPhone,那么你肯定不需要导出 @1x 。所有 @1x iPhone 设备都不支持 iOS 7+。你唯一需要担心的 @1x 设备是 iPad 2 和 iPad mini(非 Retina 版)。
另一个注意:在调查您的问题时,我听到了苹果可能因为没有每个密度的图像而拒绝您的应用程序的传言。我从未经历过这种情况。我在开发者指南中找到的唯一规则就是这条。
2.10 iPhone应用程序必须在iPad上以iPhone分辨率和2X iPhone 3GS分辨率运行,无需进行修改。
对我来说,这似乎意味着只要能运行就可以了。但是,咦,朋友,请让它更美观!
需要注意的一点是,@3x已经被设备缩小了。 3是UIDevice比例尺度,而屏幕实际上是在某种程度上的nativeScale。因此,如果参数有效,它应该可以为其他密度从@3x提供适当的工作。
当然,如果图像有许多仅在角落处坐落着一个单像素的锐利角落,那么人们可能希望精确地定位它,而不是让操作系统通过应用任何连续过滤器来选择它即将应用的缩小。