【问题标题】:IOS - Importing feed images - Retina supportIOS - 导入提要图像 - Retina 支持
【发布时间】:2014-06-24 13:27:54
【问题描述】:

我们目前正在构建一个 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吗?还是可以通过某种方式选择相关尺寸?

【问题讨论】:

    标签: ios objective-c image ios7 xcasset


    【解决方案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]]];
    

    【讨论】:

    • 为你的帮助干杯@Natarajan - 我明天早上会去尝试。
    猜你喜欢
    • 1970-01-01
    • 2011-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-06
    相关资源
    最近更新 更多