iOS根据设备屏幕尺寸从Assets获取图像的实际尺寸

时间:2018-11-25 17:50:56

标签: ios iphone uiimage assets

我正在开发一个使用许多图像作为图标的iOS应用程序。我已将图像添加到资产并从视图中访问它们。

我需要知道在运行时将在屏幕上显示的图像的实际大小。当我这样创建UIImage对象时:

let image = UIImage(named: "my_image")

然后访问其大小,我总是得到1x大小-在具有不同屏幕大小的所有设备上-。据我所知,iOS根据运行时的屏幕大小加载适当的图像大小。

那么,如何获得将在屏幕上呈现的实际图像大小而不是始终获得默认大小?

1 个答案:

答案 0 :(得分:1)

UIImage的大小以磅为单位。要获得实际尺寸(以像素为单位),您可以将其乘以屏幕的比例-对于Retina显示器为2.0或3.0-

let scale = UIScreen.main.scale
let sizeInPixels = CGSize(width: imageSize.width * scale, height: imageSize.height * scale)