iPhone: Что описывает (BOOL) метод isPad? - PullRequest
2 голосов
/ 24 января 2012

Я не могу получить четкое представление о следующем методе:

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

На самом деле для приложений iPad этот метод используется, но я не понимаю, на самом ли деле этот метод используется, поэтому, если кто-нибудь сможет объяснить его подробно, это будет очень полезно для меня.

Заранее спасибо.

Ответы [ 3 ]

5 голосов
/ 24 января 2012

Метод просто проверяет, был ли определен макрос UI_USER_INTERFACE_IDIOM.

Если он доступен, он проверяет, равен ли макрос UIUserInterfaceIdiomPad. Если сравнение истинно, возвращается YES, иначе if возвращает NO.

Если макрос не был определен, это означает, что вы используете iOS <3.2, поэтому это определенно не iPad. </p>

Для документации см. http://developer.apple.com/library/ios/documentation/uikit/reference/UIKitFunctionReference/Reference/reference.html#//apple_ref/c/macro/UI_USER_INTERFACE_IDIOM

2 голосов
/ 24 января 2012

Как следует из названия, говорит вам, является ли текущее устройство, на котором работает ваше приложение, iPad или нет.Возвращает ДА ​​для iPad 1 и 2 и НЕТ для iPhone и iPod.

0 голосов
/ 24 января 2012

#ifdef - это прекомпилятор, проверяющий, определена ли переменная UI_USER_INTERFACE_IDIOM, а затем определена ли она как UIUserInterfaceIdiomPad.Если он определен как UIUserInterfaceIdiomPad, это означает, что он компилируется для iPad и возвращает YES, в противном случае возвращается NO.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...