Как определить, является ли текущее устройство iPhone или iPad? - PullRequest
2 голосов
/ 19 октября 2010

В моем универсальном приложении мне нужно проверить, является ли текущее устройство iPad или iPhone. Как я могу сделать это программно? Я планирую разместить код в моем viewDidLoad.

Ответы [ 5 ]

9 голосов
/ 19 октября 2010

проверьте, доступен ли класс UISplitViewController на платформе, если это так, убедитесь, что это iPad, использующий макрос Apple (обратите внимание, что константа UIUserInterfaceIdiomPad доступна только в iOS 3.2 и выше).

if (NSClassFromString(@"UISplitViewController") != nil && UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
        //currentDeviceType = iPad;
    }
    else {
        //currentDeviceType = iPhone;
    }
1 голос
/ 01 декабря 2011
try this.. this will help you.   

 NSString *deviceType = [UIDevice currentDevice].model;


        if([deviceType isEqualToString:@"iPod touch"]||[deviceType isEqualToString:@"iPhone"]||[deviceType isEqualToString:@"iPad"]){
        }
1 голос
/ 18 сентября 2011

Я использую эту простую функцию во всех моих приложениях:

#import "isPad.h"
BOOL isPad () {
    static BOOL isPad;
    static BOOL used = NO;  
    if (used)
        return isPad;
    used = YES;
    NSRange range = [[[UIDevice currentDevice] model] rangeOfString:@"iPad"];
    isPad = range.location != NSNotFound;
    return isPad;
}
1 голос
0 голосов
/ 20 декабря 2013
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
    // Statements
}

else if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
{
   // Statements
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...