我无法清楚了解以下方法:
- (BOOL) isPad {
#ifdef UI_USER_INTERFACE_IDIOM
return (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad);
#else
return NO;
#endif
}
实际上对于iPad应用程序使用了这种方法,但我不明白这种方法实际上是这样做的,所以如果有人能够详细解释它,那对我来说会非常有帮助。
提前致谢。
答案 0 :(得分:5)
该方法只检查是否已定义UI_USER_INTERFACE_IDIOM
宏。
如果可用,它会检查宏是否等于UIUserInterfaceIdiomPad
。如果比较为真,则返回YES,否则返回NO。
如果尚未定义宏,则表示您正在运行iOS< 3.2所以它绝对不是iPad。
答案 1 :(得分:2)
顾名思义,告诉您应用程序运行的当前设备是否是iPad。 iPad 1和&amp ;;返回YES 2,iPhone和iPod的NO。
答案 2 :(得分:0)
#ifdef是预编译器,用于检查是否定义了变量UI_USER_INTERFACE_IDIOM,然后将其定义为UIUserInterfaceIdiomPad。如果它被定义为UIUserInterfaceIdiomPad,这意味着它正在为iPad编译并返回YES,否则返回NO。