添加iOS @ 1x,@ 2x,@ 3x PER设备,如何?

Cod*_*k22 5 scaling resolution pixels ios swift

我最近问了一个问题,为什么我们要使用上面列出的3种不同的图像类型,并得到良好/详细的答复。这也使我提出了其他疑问...

假设我正在使用XCode(使用SWIFT)工作,并且在iPhone上使用特定的UIImage时,具有三个图像尺寸@ 1x,@ 2x,@ 3x。现在,我希望它在iPad上看起来不错,所以我增加了一些缩放比例。但是,这将更改iPad需要的1x,2x,3x图像的尺寸,因此我需要再增加3幅图像以补偿该新尺寸。现在,XCode将如何区分两者?我需要检查正在使用的屏幕尺寸,然后选择图像吗?

我读到资产可以帮助我,但这仅适用于iPhone与iPad,如果我在iPhone 4、5、6和iPad上缩放图像会怎样?那有很多不同的大小和@x图像,我读到Apple不喜欢设备检查,所以我不确定会怎样。

我希望这是有道理的。我得到每个设备的@ 1x,2x,3x,但是如果我的应用是为通用设备设计的,那么如何为适当的设备管理所有这些不同大小的代码?

sou*_*ned 3

您确实应该使用图像资产目录。这让它变得太容易了。这是苹果给出的定义,所以你知道这不是道听途说:

图像集:用于大多数类型的图像,图像集包含支持各种设备和比例因子所需的图像的所有版本或表示形式。

更进一步说:

资产目录中的每个集合都有一个名称。您可以使用该名称以编程方式加载该集中包含的任何单个图像。要加载图像,请调用特定于平台的类方法,并传入包含图像的集的名称。操作系统将从最适合当前比例因子的图像中加载图像

所以你确实没什么可做的。我不知道你从哪里听到相反的说法

请参阅此处的文档