iphone 4 - 加载图像x旧设备

时间:2010-07-05 10:26:16

标签: iphone ipad

Apple说你必须有你的图像的@ 2x版本并使用像

这样的东西
UIImage* anImage = [UIImage imageNamed:@"Button"]; // without the extension

这将根据iPhone版本(3G / 3GS或4)选择Button图像的低版本和雇用版本。但是,如果该应用程序也适用于iPad呢?

即使我没有指定扩展名,iPad也会加载按钮图像吗?

感谢。

4 个答案:

答案 0 :(得分:6)

  

即使我没有指定扩展名,iPad也会加载按钮图像吗?

没有。 From the doc

  • 特别注意事项

    在iOS 4及更高版本中,不需要文件名来指定文件扩展名。 在iOS 4之前,您必须指定文件扩展名。

由于iPad运行3.2,您需要包含.png部分。但是,写作

UIImage* anImage = [UIImage imageNamed:@"Button.png"];

不会阻止系统在4.0上找到Button@2x.png

答案 1 :(得分:2)

要么

UIImage* anImage = [UIImage imageNamed:@"Button"]; // without the extension

UIImage* anImage = [UIImage imageNamed:@"Button.png"]; // with the extension

可以在iOS4上运行,因为苹果基本上不鼓励你使用除PNG之外的任何其他图像,你可以省略用力。

两者都适用于@ 2x.png文件。确保已将@ 2x文件添加到项目中。

答案 2 :(得分:2)

作为答案的补充,我必须提到this page

问题是SDK被破坏了,尽管Apple提到除了imageNamed之外的其他方法加载了@ 2x图像,但它们没有。对苹果公司感到羞耻,让我们在SDK被破坏时浪费时间。

上面提到的链接有解决问题的方法,使用方法。

答案 3 :(得分:1)

是的,它将加载标准(lores)版本。

编辑:不要忘记在模拟器或真实设备上进行测试,因为有一些twiddles,但imageNamed:已经证明到目前为止运行良好。