我见过一些关于UIImage在新iOS6中自动加载 filename-568.png 图像的帖子,但我似乎无法在UIImageView类中重新创建它。
我正在使用故事板(不是我的应用程序,只是需要做一些检查),而且我有一个简单的布局,只有缩放的图像视图适合,视图控制器中没有代码,我确定 filename.png 和 filename-568h.png 存在(以及 -568@2x.png 以防万一)但是当我加载时它在iOS6模拟器中。这适用于iOS 4和5,为视网膜加载@ 2x图像,但似乎在iOS6中不起作用。有任何想法吗?
该图片恰好被称为 Default.png ,因为它与发布图片相同,这可能是问题吗?
感谢您提前提供任何帮助
答案 0 :(得分:32)
iOS6不会像@ 2x图像那样自动加载-568h 。唯一的例外是默认屏幕,但除此之外,您必须自己手动设置568h图像。
我使用[UIImage imageNamed:@""]
方法创建了一些代码来模拟-568h图像的加载行为,但是从IB我不知道如何。如果您对此类解决方案感兴趣,请查看http://angelolloqui.com/blog/20-iPhone5-568h-image-loading
答案 1 :(得分:4)
通常,您只应使用568h作为启动图像。如果您发现自己在应用程序中使用不同的图像资源来获得新的显示高度,则应该考虑到您可能会使UI过于静态。
人们想要将568h用于图像的最明显的地方是背景图像。另一种方法是只使用一个具有最大可能维度的资产,并使用UIView的contentMode属性正确对齐。
但也许你在顶部和底部的图像中有浮动的东西,所以contentMode无法解决它。您可以认为顶部和底部浮动器应该是单独的视图。
请记住,我们一直在制作具有可变高度的应用。每次键盘弹出时,就好像屏幕尺寸缩小了一样。