在iOS中以2x或3x读取图像

use*_*727 1 uiimage ios

我根据比例从我的服务器获取图像,所以我得到类似的东西:

http://myserver.com/image1.png

http://myserver.com/image1@2x.png

然而,我看到的是,一旦我使用http://myserver.com/image1@2x.png的内容初始化图像,UIImage上的比例表示它是1x并且它在我希望它被渲染的地方被渲染得很糟糕,它呈现全尺寸..而不是像素的两倍大小的像素..如何使这项工作正常?

Cih*_*Tek 5

您可以UIImage使用以下代码创建比例因子为2 的新项:

UIImage * img = [UIImage imageNamed:@"myimagename"];
img = [UIImage imageWithCGImage:img.CGImage scale:2 orientation:img.imageOrientation];
Run Code Online (Sandbox Code Playgroud)

要使代码与设备无关,您应该使用下面的代码获取当前设备的比例因子,并用它替换数字2.

[UIScreen mainScreen].scale
Run Code Online (Sandbox Code Playgroud)