许多人都在努力为不同的设备使用不同的.xib。
如果“自动布局”不适合您(它不适合我,它会调整尺寸和图像位置),您必须手动检测用户正在使用的设备。
我已经看过许多不同的方法来做到这一点,所以我想我会分享最简单的方法。 (在我看来)
答案 0 :(得分:2)
所以答案:
- (id)initWithNibName:(NSString *)nibName bundle:(NSBundle *)nibBundle {
if ([[ UIScreen mainScreen ] bounds ].size.height == 568 ) {
nibName = [NSString stringWithFormat:@"%@_568", nibName];
}
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
nibName = [NSString stringWithFormat:@"%@_iPad", nibName]; {
}
if (self = [super initWithNibName:nibName bundle:nibBundle]) {
}
return self;
}
第一个声明会检查您拥有iPhone 5屏幕的设备。
第二次检查天气你正在使用iPad。
第三个返回iPhone 4s及之前的正常xib。
请注意,要完成这项工作,您必须创建3个不同的XIB,所有XIB都有不同的后缀。
ViewController.xib
ViewController_568.xib
ViewController_iPad.xib