Apple说你必须有你的图像的@ 2x版本并使用像
这样的东西UIImage* anImage = [UIImage imageNamed:@"Button"]; // without the extension
这将根据iPhone版本(3G / 3GS或4)选择Button图像的低版本和雇用版本。但是,如果该应用程序也适用于iPad呢?
即使我没有指定扩展名,iPad也会加载按钮图像吗?
感谢。
答案 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:已经证明到目前为止运行良好。