所以我知道有一种非常简单的方法让IOS为当前运行的设备选择正确大小的资产,即:name.png,name @ 2x.png,name @ 3x.png。
我创建的应用程序有数百张图像,如果用户要查看它们,我只想下载,或者从网址中异步提取:
let url = NSURL(string: image.url)
let data = NSData(contentsOfURL: url!)
imageURL.image = UIImage(data: data!)
我是否必须创建一些方法来检查设备类型或检查屏幕分辨率,以查看图像在应用程序中时将使用的资产。或者是否有某种帮助?
答案 0 :(得分:1)
有几种方法可以解决这个问题。在应用中,您可以根据http://.../image.png
修改图片的网址路径(例如,将http://.../image@2x.png
转换为UIScreen.mainScreen().scale
)。通过命名图像@ 2x或@ 3x没有自动缩放 - 它们将大2或3倍,您必须正确设置UIImageView大小才能显示它们。
或者,您可以将比例作为GET参数http://.../image.png?imageScale=2
传递给URL,并让您的Web服务处理逻辑并返回正确的图像。正确调整UIImageView的大小 - 对于@ 1x图像的尺寸仍然很重要。