我正在开发一个通用的应用程序,其中包含数百个背景图像。为了节省磁盘空间,防止进一步重复和磁盘垃圾邮件,我想要将非retina @1x iPad 图像作为 retina @2x iPhone 图像进行重用。
例如:
background125_iPad@2x.png
background125_iPad.png
iPhone 4和5的长宽比不同,因此我将缩放1024x768图像以适应。
但是问题是,如果我在iPhone 5上使用它:
UIImage *img = [UIImage imageNamed:@"background125_iPad.png"];
那么iOS将尝试比我更聪明,选择巨大的内存怪物@"background125_iPad@2x.png"版本。
有没有一种方法能够说:“iOS,请看。我比你更聪明。我想要你加载这个文件。而且我真的是指这个文件。这一个。并将其视为带有2倍比例因子的@2x版本。”以便它真正加载所请求的“background125_iPad.png”文件,但UIImageView表现得好像它有512 x 384点(= 1024x768 px)?
我假设UIImage imageNamed
不是正确的方式?