我已经在资源文件夹中为IOS添加了三种格式的所有图像,如test.png,test @ 2x.png,test @ 3x.png,仍然在像ipad这样的大分辨率屏幕上显示默认的一个test.png。< / p>
我不明白为什么会这样。我在代码方面遗漏了什么。
编辑:
抱歉,我的错误。我的问题是错误的。它显示的是不同的图像,但尺寸很小。我尝试了3个同名的不同图像,其中包含@ 2x,@ 3x扩展名。所以我知道在ipadPro(9.7英寸)中它显示@ 3x图像,而在iphone5(我的Mac中最低屏幕分辨率模拟器)它显示@ 2x图像。
那么我们如何决定哪个屏幕分辨率将采用哪个图像?我们如何确定它们的大小。?
答案 0 :(得分:2)
根据设备的不同,您可以通过将每个图像中的像素数乘以特定比例因子来实现此目的。标准分辨率图像的比例因子为1.0
,并称为@1x
图像。高分辨率图像的比例因子为2.0
或3.0
,并称为@2x
和@3x
图像。
例如,假设您的标准分辨率
@1x
图片为100px x 100px
。此图片的@2x
版本为200px × 200px
。@3x
版本为300px × 300px
。
iPhone X,iPhone 8 Plus,iPhone 7 Plus和iPhone 6s Plus支持3倍 解析度。 iPhone 8,iPhone 7,iPhone 6 / 6s和iPhone 5s / 5c支持2倍 解析度。所有其他iPhone设备都支持1倍分辨率。
考虑使用大小为10磅的视图的示例图像集以及iOS系统如何选择特定于设备分辨率的图像。
@3x -> 3 * (10px x 10px) = (30px x 30px) // iPhone X, iPhone 8 Plus, iPhone 7 Plus, and iPhone 6s Plus
@2x -> 2 * (10px x 10px) = (20px x 20px) // iPhone 8, iPhone 7, iPhone 6/6s and iPhone 5s/5c
@1x -> 1 * (10px x 10px) = (30px x 30px) // All other iPhone devices
注意:您无需执行任何代码(设置)来分配特定于设备分辨率的图像。只需在图像集中添加所有(1x,2x和3x)类型分辨率的图像。 iOS系统自动从图像集中选择/选择特定于设备分辨率的图像。
请查看Apple的此文档:Image Size and Resolution
这是一个很容易理解的好教程:DESIGNING FOR THE NEW IPHONE SCREEN RESOLUTIONS