视网膜iOS设备不显示@2X图像,而是显示1X图像

视网膜iOS设备不显示@2X图像,而是显示1X图像,ios,xcode4,uiimageview,uiimage,uibarbuttonitem,Ios,Xcode4,Uiimageview,Uiimage,Uibarbuttonitem,视网膜iOS设备不显示@2X图像,而是显示1X图像 我使用的是Xcode 4.2.1 Build 4D502,该应用程序的目标是iOS 5 我创建了一个测试应用程序(主/详细)并添加了两个图像 iconTest.png 24 x 24 iconTest@2X.png48 x 48 每个图像都是唯一的,因此我可以很容易地分辨出显示的是哪一个 在ViewDidLoad中,我正在向导航控制器添加一个按钮 UIImage *buttonImage = [UIImage imageNamed:@"ico

视网膜iOS设备不显示@2X图像,而是显示1X图像

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

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

iconTest.png 24 x 24 iconTest@2X.png48 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模拟器中运行此测试应用程序时,它会正确显示retina iOS设备的图标。在模拟器中,硬件->设备->设置为iPhone(视网膜)。当我暂停应用程序并查看buttonImage对象时,我可以看到比例设置为2

这就像预期的一样

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

这不是预期的行为

你知道为什么模拟器和真正的iOS设备有什么不同吗

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

谢谢,
Brian。

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

如果您最近才添加了新图像,请尝试清理和重建项目-如果您重命名了现有文件,图像通常不会被拾取。是的,这就是问题所在。我将2X改为2X,现在视网膜图像显示在真正的iPhone4上。谢谢你指出这一点!!