<分区>
许多人都在为不同的设备使用不同的 .xib 而苦恼。
如果“自动布局”对您不起作用(它对我不起作用,它会搞砸尺寸和图像放置),您将不得不手动检测用户正在使用的设备。
我见过很多很多不同的方法来做到这一点,所以我想我只分享最简单的一种。 (在我看来)
标签 ios
<分区>
许多人都在为不同的设备使用不同的 .xib 而苦恼。
如果“自动布局”对您不起作用(它对我不起作用,它会搞砸尺寸和图像放置),您将不得不手动检测用户正在使用的设备。
我见过很多很多不同的方法来做到这一点,所以我想我只分享最简单的一种。 (在我看来)
最佳答案
所以答案:
- (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,它们都具有不同的后缀。
ViewController.xib
ViewController_568.xib
ViewController_iPad.xib
关于ios - 如何检测用户使用的是 iPhone、iPhone 5 还是 iPad,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17695032/