根据屏幕密度下载不同的资源
Downloading Different resources based on screen density
所以我知道有一种非常简单的方法可以让 IOS 为当前 运行 设备选择正确大小的资产,即:name.png,name@2x.png , 姓名@3x.png.
我正在创建的应用程序有数百张图片,我只想在用户查看它们时下载,或者从 url:
异步获取
let url = NSURL(string: image.url)
let data = NSData(contentsOfURL: url!)
imageURL.image = UIImage(data: data!)
我是否必须创建一些方法来检查设备类型或检查屏幕分辨率以查看如果图像在应用程序中它会使用什么资产。或者有什么帮手吗?
有几种方法可以解决这个问题。在应用程序中,您可以在UIScreen.mainScreen().scale
的基础上修改url图片路径(例如将http://.../image.png
转换为http://.../image@2x.png
)。将图像命名为 @2x 或 @3x 不会自动缩放 - 它们将大 2 或 3 倍,您必须正确设置 UIImageView 大小才能显示它们。
或者,您可以将比例作为 GET 参数 http://.../image.png?imageScale=2
传递给 url,并让您的网络服务处理逻辑和 return 正确的图像。正确调整 UIImageView 的大小仍然很重要 - 到 @1x 图像的尺寸。
所以我知道有一种非常简单的方法可以让 IOS 为当前 运行 设备选择正确大小的资产,即:name.png,name@2x.png , 姓名@3x.png.
我正在创建的应用程序有数百张图片,我只想在用户查看它们时下载,或者从 url:
异步获取let url = NSURL(string: image.url)
let data = NSData(contentsOfURL: url!)
imageURL.image = UIImage(data: data!)
我是否必须创建一些方法来检查设备类型或检查屏幕分辨率以查看如果图像在应用程序中它会使用什么资产。或者有什么帮手吗?
有几种方法可以解决这个问题。在应用程序中,您可以在UIScreen.mainScreen().scale
的基础上修改url图片路径(例如将http://.../image.png
转换为http://.../image@2x.png
)。将图像命名为 @2x 或 @3x 不会自动缩放 - 它们将大 2 或 3 倍,您必须正确设置 UIImageView 大小才能显示它们。
或者,您可以将比例作为 GET 参数 http://.../image.png?imageScale=2
传递给 url,并让您的网络服务处理逻辑和 return 正确的图像。正确调整 UIImageView 的大小仍然很重要 - 到 @1x 图像的尺寸。