我们目前正在构建IOS应用程序,部分功能涉及从外部CMS导入图像以显示在新闻源中。我们需要使所有图像符合视网膜标准,但不太确定如何去做。
例如 - 我们有一个300px x 150px的占位符作为uitableviewcontroller的自定义单元格的一部分 - 所以根据我的理解,我们需要600px x 300px和300 x 150px版本的图像可用于视网膜/非视网膜的deque设备
我的问题是我们如何让设备选择相关图像?我想我们以相应的尺寸下载image.png和image@2x.png - 但我们如何在以下声明中应用相关图像?
cellA.ArtImg.image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:TheImageWithURL]]];
是否需要将图像转换为Xcasset?或者可以以某种方式选择相关尺寸?
答案 0 :(得分:1)
如果您正在为两个视网膜设备开发应用程序,只需下载600px x 300px图像并将其设置为您的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]]];