iPhone:(BOOL)isPad方法描述的是什么?

iPh*_*one 2 iphone objective-c ipad ios

我无法清楚了解以下方法:

- (BOOL) isPad {    
#ifdef UI_USER_INTERFACE_IDIOM
    return (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad);
#else
    return NO;
#endif
}
Run Code Online (Sandbox Code Playgroud)

实际上对于iPad应用程序使用这种方法,但我不明白这种方法实际上是这样做的,所以如果有人能够详细解释它,那对我来说会非常有帮助.

提前致谢.

Rog*_*Rog 5

该方法只是检查UI_USER_INTERFACE_IDIOM宏是否已定义.

如果可用,则检查宏是否等于UIUserInterfaceIdiomPad.如果比较为真,则返回YES,否则返回NO.

如果宏尚未定义,则表示您运行的是iOS <3.2,因此它绝对不是iPad.

有关文档,请参阅http://developer.apple.com/library/ios/documentation/uikit/reference/UIKitFunctionReference/Reference/reference.html#//apple_ref/c/macro/UI_USER_INTERFACE_IDIOM