iphone - iPhone:如何使用MACRO检查设备?

标签 iphone objective-c ios cocoa-touch

我想使用iPhone检查设备是iPad还是macro

我有一个文件Constant.h,在其中我使用#define给出了值。

现在,我想使用#ifdef #endif检查设备。

只有在.m文件中才可以使用跟随方法。

但是我只有一个.h

- (BOOL) isPad{ 
   #ifdef UI_USER_INTERFACE_IDIOM
        return (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad);
   #else
       return NO;
   #endif
}

那么以上方法对我没有用吗?

有什么办法吗?还是其他方式?

最佳答案

您无法通过宏进行检查,因为宏会在编译过程中扩展。因此,您需要在编译时知道设备类型。

如果要在运行时支持两个设备,则需要检查设备类型并使用适当的常量集。

关于iphone - iPhone:如何使用MACRO检查设备?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8325260/

相关文章:

ios - 将数据插入 Core Data 并检查它是否已经存在

iphone - 使用自定义搜索文本字段过滤 tableView

ios - 为什么自动更正弹出窗口没有位于我的文本上方?

iphone - 如何将自定义 UIMenuItem 添加到 UITextView 中的 UIMenuController?

iPhone:设置导航栏标题

ios - 将图像上传到服务器 初学者的详细说明

ios - 无法访问 iOS SQLite 数据库 : sqlite3_prepare_v2 and 'no such table' sqlite3_errmsg

iphone - 有没有办法改变 scrollRectToVisible 的速度?

iphone - 使用 [ALAssetsLibrary enumerateGroupsWithTypes :] 时的 Cocoa 线程同步

ios - sqlite 无法访问,仅在 iPhone 6 和 6 plus 中失败