我是否必须为 iPhone5 放置一个单独的 xib Like 1 为 iPhone4 和更少的 1 这样做似乎是非常糟糕的做法。任何人都可以对此有所了解吗?iPhone5也使用自动布局?我不明白自动布局是如何工作的。
5 回答
观看有关该主题的 WWDC 2012 视频。三个 1 小时的视频教会了我将应用程序迁移到自动布局所需的所有知识。
如果您的主要问题是新的屏幕尺寸,请确保添加 Default-568h@2x.png。您的应用程序需要这个 640 × 1136 的图像才能利用 iPhone 5 的全屏。
也使用
[[UIScreen mainScreen] applicationFrame]
获取当前屏幕的宽度和高度。不要硬编码 320 宽 480 高。
CGRect aFrame = [[UIScreen mainScreen] applicationFrame];
width=aFrame.size.width; height=aFrame.size.height;
单独的 xib 文件:是的,是可能的方法之一。
自动布局:http ://www.raywenderlich.com/20881/beginning-auto-layout-part-1-of-2
(谷歌第一击)。
我发现并将帮助其他人: https ://github.com/mindsnacks/UIImage-MSImageNamed568hSupport
使用这个我们可以为 iPhone5 加载 568h 大小的图像,如果存在 ow 加载正常图像很有帮助...
例子:
#import "UIImage+MSImageNamed568hSupport.h"
.
.
IBimgViewBG.image=[UIImage ms_imageNamed568hSupport:[NSString stringWithFormat:@"sample.png"]];
.
.
注意:在您的项目中包含此图像
sample.png // for earlier versions
sample-568h.png // for iphone5
我修改了我的应用程序以包含自动布局。老实说,如果我更主动一些,我会在设计它们时考虑到新的屏幕尺寸——我不会再犯这个错误了!
您如何处理它实际上取决于您如何设计原始应用程序。