【问题标题】:Big size image is not showing in ios big resolution screen like ipad大尺寸图像未在 ios 大分辨率屏幕(如 ipad)中显示
【发布时间】:2017-12-13 08:13:01
【问题描述】:

我已经在资源文件夹中为IOS添加了三种格式的所有图像,如test.png、test@2x.png、test@3x.png,仍然在像ipad这样的大分辨率屏幕上显示默认的一个test.png。

我不明白为什么会这样。我是否从代码方面遗漏了什么。

编辑:

对不起我的错误。我的问题是错误的。它显示不同的图像,但尺寸很小。

我尝试了 3 个具有相同名称且扩展名为 @2x、@3x 的不同图像。所以我知道在 ipadPro(9.7 英寸)中它显示 @3x 图像,而在 iphone5(我的 Mac 中最低的屏幕分辨率模拟器)中它显示 @2x 图像。

那么我们如何决定哪个屏幕分辨率将拍摄哪个图像?我们如何决定它们的大小。?

【问题讨论】:

  • 您使用的是哪款 iPad(型号)?
  • @Krunal 请看我的编辑

标签: ios


【解决方案1】:

根据设备的不同,您可以通过将每个图像中的像素数乘以特定比例因子来实现此目的。标准分辨率图像的比例因子为1.0,称为@1x 图像。高分辨率图像具有2.03.0 的比例因子,称为@2x@3x 图像。

例如,假设您有一个标准分辨率为@1x 的图像100px x 100px。此图像的@2x 版本将是200px × 200px@3x 版本将是 300px × 300px

iPhone X、iPhone 8 Plus、iPhone 7 Plus 和 iPhone 6s Plus 支持 3x 解析度。 iPhone 8、iPhone 7、iPhone 6/6s 和 iPhone 5s/5c 支持 2x 解析度。所有其他 iPhone 设备都支持 1x 分辨率。

考虑以下一组 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 系统自动从图像集中选择/选择设备分辨率特定的图像。

看看这个苹果的文档:Image Size and Resolution

这里有一个很好的教程,便于理解:DESIGNING FOR THE NEW IPHONE SCREEN RESOLUTIONS

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多