Retina iOS设备不显示@ 2X图像,它显示1X图像

时间:2011-12-27 21:42:38

标签: ios xcode4 uiimageview uiimage uibarbuttonitem

Retina iOS设备不显示@ 2X图像,它显示1X图像。

我正在使用Xcode 4.2.1 Build 4D502,该应用程序的目标是iOS 5。

我已经创建了一个测试应用程序(主/细节)并添加了两个图像。

iconTest.png 24 x 24 iconTest@2X.png 48 x 48 每个图像都是唯一的,因此我可以很容易地分辨出哪一个正在显示。

在ViewDidLoad中我向导航控制器添加了一个按钮......

UIImage *buttonImage =  [UIImage imageNamed:@"iconTest.png"];
UIBarButtonItem *button = [[UIBarButtonItem alloc] 
                           initWithImage:buttonImage
                                   style:UIBarButtonItemStyleBordered
                                  target:self
                                  action:@selector(share)];
self.navigationItem.rightBarButtonItem = button;

当我在iOS模拟器中运行此测试应用程序时,它会正确显示视网膜iOS设备的图标。在模拟器中,硬件 - >设备 - >设置为iPhone(Retina)。当我暂停应用程序并查看buttonImage对象时,我可以看到比例设置为2。

这可以按预期工作!

但是,当我连接iPhone 4并运行应用程序时,会显示较低分辨率的图像。 而且,当我暂停应用程序并查看buttonImage对象时,我可以看到比例为1。

这不是预期的行为。

有关模拟器和真实iOS设备之间为何有所不同的想法?

这是一个已知问题吗?有没有已知的解决方法?

谢谢, 布赖恩。

1 个答案:

答案 0 :(得分:17)

文件名在iPhone上区分大小写,但在iPhone模拟器上不区分大小写。您需要使用@2x代替@2X