苹果推出了支持视网膜图形的新iPad。
我在苹果应用程序中看到了此链接视网膜图形。如您所见,苹果在iPad显示屏上使用后缀“ @ 2x”。
我有一个通用应用程序。那么如何在新的iPad和iPhone中支持视网膜呢?iPad视网膜会使用类似于iPad的后缀“ @ 2x”吗?
+(UIImage*) deviceIndependentImageNamed:(NSString*)file;
或类似方法的方法,也可以在代码中缩放图像而不是使用多个文件
Answers:
我刚刚创建了一个测试应用程序并进行了测试。
因此,对于没有视网膜的设备:
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模拟器上对其进行了测试。
顺便说一句,为什么你应该使用@ 2x而已。
主要是因为您不应该在iPhone和iPad上使用相同的图形,因为iPhone和iPad的尺寸不同。如果使用相同的尺寸,则iPad视网膜显示屏(如果以前使用过iPhone视网膜显示屏)将已经完成图形处理。如果您要使用不同大小的图像,那么您将为iPhone和iPad使用不同的图像名称。因此,在这一方面,您只需要添加@ 2x后缀即可。这就是为什么您应该仅使用@ 2x后缀的原因。-这些是我的想法。
我发现iPad mini /非视网膜iPad硬件,而不是模拟器,会像Rowwingman的回答那样落在ImageName.png而不是ImageName〜ipad.png上。
综观文档,在另一个引用的StackOverflow问题的内特,却仿佛设备附加到iphone的图像是做了正确的道路。
MyImage.png-图像资源的默认版本。
MyImage@2x.png-具有Retina显示器的设备的图像资源的高分辨率版本。
MyImage〜iphone.png -iPhone和iPod touch的图像版本。
MyImage@2x~iphone.png-具有Retina显示屏的iPhone和iPod touch设备的图像的高分辨率版本。