因此,我目前正在将 UI_USER_INTERFACE_IDIOM 与 [[UIDevice currentDevice] model] 结合使用来检查我是否使用的是 iPhone、iPod 或 iPad。我发现在iPad模拟器3.2中,UI_USER_INTERFACE_IDIOM仍然评估为UIUserInterfaceIdiomPhone(iPhone)。
我想知道这是否与我的目标设备系列设置有关。我的应用程序仅针对 iPhone(我不想制作具有缩放 View 的通用应用程序)。不过,我支持 3.2 SDK,因此我仍然希望拥有 iPad 的用户能够运行我的 iPhone 应用程序。 即使我的目标是 iPhone,UI_USER_INTERFACE_IDIOM 能否在 iPad 上正确评估?
最佳答案
UI_USER_INTERFACE_IDIOM 不检查设备是否是 iPhone 或 iPad。它检查的是用户界面是否处于 iPhone 模式(1x/2x 模式)或 iPad 模式。
如果应用程序未配置为面向 iPad,它将始终返回 UIUserInterfaceIdiomPhone,因为 UI 是 iPhone 应用程序。这是设计时的一个功能。
即使应用程序配置为仅针对 iPhone,只要您使用记录的方法,iPad 也应该能够毫无问题地运行它。
(如果您需要 iPad 特定的功能,不要检查该设备是否真的是 iPad。而是检查单独的功能。)
关于iphone - UI_USER_INTERFACE_IDIOM 是否适用于目标设备系列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3167740/