我正试图在iPad 2上加载我的应用程序(因为它在iPad 3上运行得很好)。我缩小了图像的比例,现在有2组图像,如: image.png和image@2x.png。当我尝试用以下内容加载图像时:
someImageView.image = [UIImage imageNamed:@"image.png"];
或者通过IB,它没有给出我所期望的结果(比如根据iPad的显示方式选择正确的这里),并且只显示image.png,而不管哪个iPad运行应用程序,不过当我试图通过以下方式导入图像时:
NSString* imagePath = [[NSBundle mainBundle] pathForResource:@"image" ofType:@"png"];
UIImage* someImage = [[UIImage alloc] initWithContentsOfFile:imagePath];
someImageView.image = someImage;
这很好,当我在iPad 3上运行应用程序时,它使用@2xPNG文件。虽然这是可行的,但我不确定我必须分配和发布我使用的每一个映像,因为我通过IB使用了一些图像。这是正常的行为吗?
我使用了SDK 4、4.2和5,但是没有什么改变,我也使用Xcode 4.2,因为我不想切换到Lion。
someImageView.image = [UIImage imageNamed:@"image.png"];
,只需选择IB插槽中的图像"image.png“。没起作用。image
。没起作用。不管发生什么,它都能接上image.png。someImageView.image = [UIImage imageNamed:@"image@2x.png"];
,它在任何设备中都显示2x图像。image@2x~ipad.png
和image~ipad.png
。没起作用。任何帮助都是非常感谢的!
*UPDATE:当UIImage
返回2时,[UIScreen mainScreen].scale
切换到@2x。当我检查它时,它返回1,这就是@2x未被激活的原因。那么,有谁知道如果4.2不能识别iPad3视网膜显示器呢?我发现了类似的这里。
*UPDATE 2:我将SDK5.1合并到Xcode中并使用它作为基本SDK,从而成功地完成了这项工作。当我将SDK 5和5.1放在SDK文件夹中时,它无法工作,当我删除SDK 5版本时,它就成了一种魅力。
发布于 2012-10-01 11:47:41
它在默认情况下不能工作,因为Xcode 4.3.1是支持新的iPad (视网膜)的第一个版本。
如果你想让它起作用,检查这个答案
发布于 2012-10-01 10:21:04
您是否尝试过将~ipad
后缀添加到图像中?所以你的视网膜iPad图像应该重新命名如下:
[UIImage imageNamed:@"image@2x~ipad.png"]
希望这能有所帮助。
https://stackoverflow.com/questions/12678533
复制