无法正确加载iPhone 4“图像

时间:2013-03-05 12:28:54

标签: ios ios5

我的应用程序,应该支持iOS 5.0+我有背景UIImage,应根据设备加载正确的图像。所以我创建了5张具有相应分辨率的图像。

  • img.png
  • img@2x.png
  • img-568h@2x.png
  • IMG〜ipad.png
  • img@2x~ipad.png

我也设置了Default-568h@2x.png启动图像。然后我在viewDidLoad中检测我的应用程序正在运行的设备并使用

[bkgImageView setImage:[UIImage imageNamed:@"img.png"]];

加载适当的图像。所有的分辨率加载都很好,除了iPhone 4“one,这是img-568h@2x.png。如果我明确加载这个

[bkgImageView setImage:[UIImage imageNamed:@"img-568h@2x.png"]];

比例不正确。那么如何自动或手动加载4“视网膜图像?

1 个答案:

答案 0 :(得分:2)

-568h添加到文件名的末尾不起作用。唯一受支持的修饰符为@2x~ipad~iphone-568h似乎可行的唯一情况是启动图像,其中图像必须专门命名为Default-568h@2x.png

您应该使用自动布局(或支柱和弹簧)来相应地调整屏幕。

你的问题是它会自动拉伸已足够大的图像。

解决方案:

如果您为该设备明确加载图像,则应加载“image-568h”,然后自动添加@ 2x。这样,它知道它是一个高分辨率的图像,并不会尝试拉伸它。

此外,您可以设计具有底部额外空间的图像以适应4英寸屏幕,将图像设置为Aspect Fill,并将其剪裁为较小的设备,而不是检测设备。