Подтвердить что ты не робот

Обнаруживать экран iphone 5 4 "

Возможный дубликат:
Как обнаружить iPhone 5 (широкоэкранные устройства)?

Есть ли способ определить, является ли текущее устройство iphone 5? Более конкретно, если он использует новый 4-дюймовый экран?

4b9b3361

Ответ 1

Используйте этот

#define IS_IPHONE5 (([[UIScreen mainScreen] bounds].size.height-568)?NO:YES)

Ответ 2

Я думаю, вам следует сосредоточиться на предпочтительном режиме отображения, а не на обнаружении iPhone5. Кто знает, какие устройства Apple будет производить, но если ваше программное обеспечение поддерживает этот режим, оно будет надежным в будущем.

BOOL isiPhone5 = CGSizeEqualToSize([[UIScreen mainScreen] preferredMode].size,CGSizeMake(640, 1136));

В будущем люди могут захотеть изменить предпочтительный режим отображения на лету. Например, отключите AppleTV от 720p ТВ и подключите к 1080p, не перезагружая приложение, конечно.

Ответ 3

Добавьте этот код в свой исходный код:

if([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone){
     if(UIScreenOverscanCompensationScale==1136/640){
             //move to your iphone5 storyboard
             [UIStoryboard storyboardWithName:(NSString *) bundle (NSBundle *)];
  }
     else{
             //move to your iphone4s storyboard
             [UIStoryboard storyboardWithName:(NSString *) bundle (NSBundle *)];
  }
}

Это был ответ, отправленный мной в другом вопросе здесь.

Ответ 4

Добавьте этот код в заявку:

if ([UIScreen mainScreen].scale == 2.f && screenHeight == 568.0f)
    {// iPhone 5 code}
else
    {// previous version code}