iPad Retina图片没有显示?

时间:2012-08-12 21:47:56

标签: ios image ipad retina-display

在我的应用程序中,我无法显示iPad Retina图像。我知道我必须使用@2x~ipad.png扩展名才能让它们正确显示并且我这样做。我的图像是根据每个设备的扩展名进行命名的。但是,在iPad 3上观看时,我的图像看起来很模糊。我知道图像尺寸和PPI都合适,但看起来并不清晰。

我的图片也在我的'Copy Bundle Resources'中。我试图清理我的项目,然后重启Xcode。没有运气。

同样在我的iPad XIB中的Interace Builder中,我将每个图像设置为-72.png图像(如果iPad 3正确,我想图像会自动切换到@ 2x~ipo.png吗?)

有没有办法确认可能通过NSLogs查看它是否正在加载正确的图像?还有什么我应该仔细检查,以确保加载正确的图像。

2 个答案:

答案 0 :(得分:8)

呃,如果你真的这样做了:

  

[name] -72.png和[name] @ 2x~ipad.png

那不对。

如果这是一款通用应用,那么你有

  • Foo.png(或Foo~iphone.png)和Foo@2x.png(或Foo@2x~iphone.png)[注意:iphone不是iPhone];

  • Foo~ipad.png和Foo@2x~ipad.png

这一切都在我的通用应用程序中为我工作。

编辑:您可以在Apple的“资源编程指南”(第46页)中阅读有关命名约定的内容:

  

捆绑和图像加载例程会自动查找图像   底层设备有一个@ 2x字符串的文件   高分辨率屏幕。如果将@ 2x字符串与其他字符串组合使用   修饰符,@ 2x字符串应该出现在任何设备修饰符之前,但是   在所有其他修饰符之后,例如启动方向或URL方案   改性剂。例如:

     
      
  • MyImage.png - 图像的默认版本   资源。

  •   
  • MyImage@2x.png - 图像的高分辨率版本   具有Retina显示器的设备的资源。

  •   
  • MyImage~iphone.png -   适用于iPhone和iPod touch的图像版本。

  •   
  • MyImage@2x~iphone.png -   适用于iPhone和iPod touch设备的高分辨率图像版本   用Retina显示。

  •   

EDIT2:所以我参考了“-72”(和-50)。这些在iOS 3.1.3及更早版本中使用。完整的解释是“iOS应用程序编程指南”,“应用程序图标”部分(链接太脆弱,无法使用)。

答案 1 :(得分:0)

我正在做的是将图片名称设置为:

  1. [name]_ipad.png[name]_ipad@2x.png。 [ipad公司]
  2. [name]_ipod.png[name]_ipod@2x.png。 [iPhone]
  3. 并且,我在UIImagemc_imageNamed:添加了一个类别,该类别根据当前设备附加_ipad_ipod。当然,我已经根据他们在XIB中的名字设置了图像。

    根据我的经验,这种方法可以保证有效。如果有人能解决你的问题会很棒,但这个解决方案也可用。