如何在通用应用程序中支持iPad和iPhone视网膜graphics

苹果公司推出了支持视网膜graphics的新iPad。

我在苹果应用程序中看到了这个链接视网膜graphics 。 正如你可以看到,苹果公司只是使用“@ 2x”后缀的视网膜iPad显示。

我有一个通用的应用程序。 那么如何在新的iPad iPhone上支持视网膜? iPad的视网膜会使用类似于iPad的后缀“@ 2x”吗?

我刚刚创build了一个testing应用程序并进行testing

所以对于没有视网膜的设备:
ImageName.png – 适用于iPhone / iPod
ImageName~ipad.png – 适用于iPad

对于视网膜显示设备:
ImageName@2x.png – 适用于iPhone / iPod
ImageName@2x~ipad.png – 适用于iPad

如果您的iPhone高分辨率图像和iPad高分辨率图像具有相同的大小,您仍然可以使用@ 2x。
要加载图像,只需使用[UIImage imageNamed:@"ImageName.png"];
我只是在iOS 5.1,5.0和4.3的iOS模拟器上testing它。
顺便说一句,为什么你应该使用@ 2x,而不是更多。

主要的原因是你不应该在iPhone和iPad上使用相同的graphics,因为iPhone和iPad有不同的大小。 如果你将使用相同的尺寸,graphics将已经为你的iPad视网膜显示(如果你以前使用iPhone视网膜显示)。 如果您将不同大小的图像,所以你将使用iPhone和iPad不同的图像名称。 所以在这方面你只需要添加@ 2x后缀。 这就是为什么你应该只使用@ 2x后缀。 – 这是我的想法。

我发现,iPad mini /非视网膜iPad的硬件, 不是模拟器 ,会像ImageName.png那样回落,而不是像Rowwingman的回答那样,会出现ImageName〜ipad.png。

看文档 ,在Nate的另一个StackOverflow问题中引用,似乎将设备附加到iphone图像是正确的方式来做到这一点。

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

MyImage@2x.png – 具有Retina屏幕的设备的图像资源的高分辨率版本。

MyImage〜iphone.png – 适用于iPhone和iPod touch的图像版本。

MyImage@2x~iphone.png – 具有Retina屏幕的iPhone和iPod touch设备的图像的高分辨率版本。

图像,声音和video资源