【问题标题】:Detect I am running an iPhone application on iPad检测我正在 iPad 上运行 iPhone 应用程序
【发布时间】:2012-11-01 07:27:54
【问题描述】:

我熟悉使用 (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) 检查我是否在 iPad 上。 但是,这仅适用于 通用 应用程序。 我想知道是否有办法知道我在 iPad 上运行 iPhone 应用程序。

谢谢!

【问题讨论】:

    标签: iphone ios ipad


    【解决方案1】:

    你可以使用[[UIDevice currentDevice] model]

    【讨论】:

      【解决方案2】:

      我认为即使那样它也会给出正确的设备指示..

      由于UIDevice 在整个设备中使用共享类,它应该只为 iPad 提供任何类型的应用程序..

      你试过了吗?

      按照苹果的说法,UIDevice类中定义的枚举是这样的

      typedef NS_ENUM(NSInteger, UIUserInterfaceIdiom) {
      #if __IPHONE_3_2 <= __IPHONE_OS_VERSION_MAX_ALLOWED
      UIUserInterfaceIdiomPhone,           // iPhone and iPod touch style UI
      UIUserInterfaceIdiomPad,             // iPad style UI
      #endif
      };
      

      在这里你可以看到它枚举只是给出了它正在使用的 UI 样式,因为它是运行在 iPhone 样式 UI 中的 iPhone 应用程序,它给出了 UIUserInterfaceIdiomPhone

      而且名称本身也表示UserInterfaceIdiom 这意味着它与 UI 屏幕尺寸有关。

      你可以使用

      [[UIDevice currentDevice] model];
      

      它给出了确切的设备型号,在这里您可以检查字符串“iPad”的范围以识别设备。

      【讨论】:

      • 是的,我试过了,当它是在 iPad 上运行的 iPhone 应用程序时 (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) 为 false。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多