ios - 如何检测用户使用的是 iPhone、iPhone 5 还是 iPad

标签 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/

相关文章:

ios - 在 iOS 中重启后尝试从本地路径加载图像失败

ios - If 语句未运行 - iOS

ios - 如何在 iOS 上删除配对的蓝牙设备?

jquery - Velocity JS 在 iPad 上挂起

ios - 声明选择器 presentviewcontroller

objective-c - iOS OpenGL 层和 UIScrollView

android - 如何从 Android 上的电子邮件中的链接打开应用程序?

ios - 调用 UIViewController 并且永远不会被释放

ios - 在 Swift 中访问静态 Objective-C 方法

ios - 将 Realm 与 SwiftUI 结合使用时索引越界