Возможный дубликат:
Как обнаружить iPhone 5 (широкоэкранные устройства)?
Есть ли способ определить, является ли текущее устройство iphone 5? Более конкретно, если он использует новый 4-дюймовый экран?
Возможный дубликат:
Как обнаружить iPhone 5 (широкоэкранные устройства)?
Есть ли способ определить, является ли текущее устройство iphone 5? Более конкретно, если он использует новый 4-дюймовый экран?
Используйте этот
#define IS_IPHONE5 (([[UIScreen mainScreen] bounds].size.height-568)?NO:YES)
Я думаю, вам следует сосредоточиться на предпочтительном режиме отображения, а не на обнаружении iPhone5. Кто знает, какие устройства Apple будет производить, но если ваше программное обеспечение поддерживает этот режим, оно будет надежным в будущем.
BOOL isiPhone5 = CGSizeEqualToSize([[UIScreen mainScreen] preferredMode].size,CGSizeMake(640, 1136));
В будущем люди могут захотеть изменить предпочтительный режим отображения на лету. Например, отключите AppleTV от 720p ТВ и подключите к 1080p, не перезагружая приложение, конечно.
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 *)];
}
}
Это был ответ, отправленный мной в другом вопросе здесь.
Добавьте этот код в заявку:
if ([UIScreen mainScreen].scale == 2.f && screenHeight == 568.0f)
{// iPhone 5 code}
else
{// previous version code}