我正在弄清楚如何确定iOS设备类型并遇到了这个解决方案:https://stackoverflow.com/a/16319767/440646
问题:
#define IS_IPAD (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
我读到#define是一个在编译之前得到评估的预处理器,UI_USER_INTERFACE_IDIOM()
语句也是如此。
我的问题是编译器如何知道要编译哪个设备,因为我们只会知道用户在运行时使用的是哪个设备?
答案 0 :(得分:0)
#define IS_IPAD (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
不检查特定设备(iPhone 4,iPhone 5等),而是检查设备类别(iPhone,iPad)。
这是另一个SO问题,显示宏的作用。这有助于您了解:Is it safe to check for UI_USER_INTERFACE_IDIOM() to determine if it's an iPhone or iPad?