可能重复:
如何检测 iPhone 5(宽屏设备)?
我们可以区分 iPad 和 iPhone 使用
UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone/UIUserInterfaceIdiomPad
但是如何根据用户来区分 iPhone 4 和 iPhone 5
可能重复:
如何检测 iPhone 5(宽屏设备)?
我们可以区分 iPad 和 iPhone 使用
UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone/UIUserInterfaceIdiomPad
但是如何根据用户来区分 iPhone 4 和 iPhone 5
引用这篇文章:
#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 的高度与获取视图的高度不同。