1. 默认的话,如果你的界面上包含scrollview/TableView等全屏控件话,界面是不用改的,因为中间部分会自动拉伸。
2.如果不包含全屏控件的话,除xib的size设置成Retina 3.5 Full Screen外,还要再添加一个专门针对iPhone5的xib。新建一个xib文件,将里面view的size设置成Retina 4 Full Screen,然后对控件位置做适当调整。
3.增加宏
#define iPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640,1136), [[UIScreen mainScreen] currentMode].size) : NO) //判断是否iphone5
4. 初始化时动态装载xib
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
NSString *myNibName;
if (iPhone5)
myNibName = @"controller5"; // controller5.xib
else
myNibName = @"controller"; // controller.xib
self = [super initWithNibName:myNibName bundle:nibBundleOrNil];
// self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
参考:http://stackoverflow.com/questions/12395200/how-to-develop-or-migrate-apps-for-iphone-5-screen-resolution
第二种方法:
1. 用xcode 创建一个新的xib
2. 修改view视图属性,去掉Autolayout
3. 修改Simulated Metrics的Size属性为Freeform
4. 修改view的Height属性为480;如果大于480,需要在view下额外增加Scroll View控件包含之
5. 布局控件;注意部分适应控件的Autosizing属性,比如底部控件自动适配不同机型,需要AutoSizeing属性做对应调整