【问题标题】:Retina iOS device does not show the @2X image, it shows the 1X imageRetina iOS 设备不显示@2X 图像,它显示1X 图像
【发布时间】:2012-01-28 19:02:43
【问题描述】:

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

我正在使用 Xcode 4.2.1 Build 4D502,该应用针对 iOS 5。

我创建了一个测试应用(Master/Detail)并添加了两张图片。

iconTest.png 24 x 24 图标测试@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 设备的图标。在模拟器中,Hardware->Device-> 设置为 iPhone (Retina)。当我暂停应用并查看 buttonImage 对象时,我可以看到比例设置为 2。

这按预期工作!

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

这不是预期的行为。

关于为什么模拟器和真实 iOS 设备之间的差异有什么想法吗?

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

谢谢, 布赖恩。

【问题讨论】:

  • 如果您最近才添加新图像,请尝试清理并重建项目 - 如果您重命名现有文件,通常不会拾取图像。

标签: ios xcode4 uiimageview uiimage uibarbuttonitem


【解决方案1】:

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

【讨论】:

  • 是的,这就是问题所在。我将 2X 更改为 2x,现在视网膜图像显示在真正的 iPhone 4 上。感谢您指出!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-14
相关资源
最近更新 更多