objective-c - 在代码中获取 iOS 设备类型的最佳方式

标签 objective-c ios

我一直在这样做,效果很好,看看我的通用应用程序是否在 iPad 或 iPhone/iPad 上运行:

BOOL isIpad=[[UIScreen mainScreen] bounds].size.width<500?NO:YES

为什么我不应该基于 UIScreen 边界进行测试,或者是否有更好的方法?

最佳答案

屏幕尺寸测试是一个非常脆弱的测试。幸运的是,Apple 已经告诉您正在运行的设备类型。

为此,使用 UI_USER_INTERFACE_IDIOM 宏:

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
    // Got an iPad.
} else {
    // == UIUserInterfaceIdiomPhone
    // Got an iPhone or iPod Touch.
}

关于objective-c - 在代码中获取 iOS 设备类型的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9554064/

相关文章:

c++ - 如何使用可视化调试器快速查看原生 cpp 类?

ios - 使 UIPickerView 宽度填充 View

objective-c - 在 iPhone 上用手指画直线

ios - 如何裁剪图像以具有弯曲的不规则边缘?

ios - 如何在不减慢编译器速度的情况下合并多个数组?

ios - 自动生成的 CoreML 类使用了冲突的初始值设定项

iphone - 是否可以将图像保存到应用程序自己的相册中,而不在相机胶卷中重复?

iphone - 如何以编程方式对齐 iOS 应用程序中的按钮?

iphone - Objective-C iPhone。获取表中的 NSMutableArray

objective-c - 在 iOS Cocoa 中覆盖非透明像素