0

我们目前正在构建一个 IOS 应用程序,部分功能涉及从外部 CMS 导入图像以显示在新闻提要中。我们需要使所有图像都符合视网膜标准,但不太确定如何去做。

例如 - 我们有一个 300px x 150px 的占位符作为 uitableviewcontroller 的自定义单元格的一部分 - 所以在我的理解中,我们需要 600px x 300px 和 300 x 150px 版本的图像可用于视网膜/非视网膜设备的双端队列。

我的问题是我们如何允许设备选择相关图像?我想我们下载了各自大小的 image.png 和 image@2x.png - 但是我们将如何在以下语句中应用相关图像?

 cellA.ArtImg.image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:TheImageWithURL]]];

图像是否需要转换为 Xcasset?还是可以以某种方式选择相关尺寸?

4

1 回答 1

1

如果您只为两个视网膜设备开发应用程序,只需下载 600 像素 x 300 像素的图像并将其设置为您的 imageView,如下所示。

也无需下载两个版本的图像。

 cellA.ArtImg.image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:TheImageWithURL]]];

如果您正在为视网膜和非视网膜设备开发应用程序,让我们在下载时检查设备类型。

例子 :

#define DEVICE_ISRETINA   ([[UIScreen mainScreen] scale] > 1)

cellA.ArtImg.image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:(DEVICE_ISRETINA)?TheRetianImageURL:TheNonRetinaImageURL]]];
于 2014-05-07T14:08:33.800 回答