iphone 4 - 加载图像X旧设备
问题描述:
苹果公司说,你必须有@ 2X版本的图像,并使用这样的东西iphone 4 - 加载图像X旧设备
UIImage* anImage = [UIImage imageNamed:@"Button"]; // without the extension
这将选择低分辨率和雇用按钮图像的版本,这取决于iPhone版本(3G/3GS或4)。但如果该应用程序也适用于iPad,该怎么办?
即使我没有指定扩展名,iPad是否会加载Button图像?
谢谢。
答
要么
UIImage* anImage = [UIImage imageNamed:@"Button"]; // without the extension
或
UIImage* anImage = [UIImage imageNamed:@"Button.png"]; // with the extension
将工作的iOS4的,因为苹果基本上不鼓励你使用比PNG可以忽略劳累任何其它图像。
两者都适用于@ 2x.png文件。确保@ 2x文件已添加到您的项目中。
答
是的,它会加载标准(lores)版本。
编辑:不要忘记在模拟器或真实设备上进行测试,因为有一些twiddles,但imageNamed:已证明迄今为止工作良好。
答
即使我没有指定扩展名,iPad会不会载入Button图像?
-
特别注意事项
在iOS 4及更高版本,则不需要的文件名来指定文件扩展名。 在iOS 4之前,您必须指定文件扩展名。
由于iPad上运行3.2,你需要包括.png
部分。但是,写入
UIImage* anImage = [UIImage imageNamed:@"Button.png"];
不会阻止系统在4.0上找到[email protected]
。
答
为补充的答案,我必须提到this page:
的问题是,SDK被打破,尽管苹果提的是,其他的方法超越imageNamed加载@ 2倍的图像,他们不这样做。对苹果公司感到羞耻,让我们在SDK破裂时失去时间。
上面提到的链接有解决问题的方法。
我已经这样做了,但图像并未加载雇员...至少不是在模拟器上(我的国家很快没有iPhone 4)。你可以确认一旦你的项目中有他们的图片,是否在模拟器上加载了图像?谢谢! – SpaceDog 2010-07-05 10:49:00
是的,它们显示正常。 – 2010-07-05 13:04:26