Различают пользовательский интерфейс между iPhone 4, iPhone 5 и iPad
Возможный дубликат:
Как определить iPhone 5 (широкоэкранные устройства)?
Мы можем различать iPad и iPhone, используя
UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone/UIUserInterfaceIdiomPad
Но как различить iPhone 4 и iPhone 5 в зависимости от пользователя
1 ответ
Решение
Цитирую этот пост:
#define IS_IPHONE_5 ( fabs( ( double )[ [ UIScreen mainScreen ] bounds ].size.height - ( double )568 ) < DBL_EPSILON )
Затем просто проверьте с помощью:
if( IS_IPHONE_5 )
{}
else
{}
Имейте в виду, вам не нужно определять это как макрос, если вы не хотите. Упрощенная версия:
if ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPhone) {
if ([[UIScreen mainScreen] bounds].size.height == 568) {
//5
}else{
//not 5
}
}else{
//iPad
}
И да, это работает в ландшафте. Хотя ориентация устройства изменилась, высота устройства остается неизменной. Получение высоты UIScreen отличается от получения высоты представления.