1

可能重复:
如何检测 iPhone 5(宽屏设备)?

我们可以区分 iPad 和 iPhone 使用

UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone/UIUserInterfaceIdiomPad

但是如何根据用户来区分 iPhone 4 和 iPhone 5

4

1 回答 1

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 的高度与获取视图的高度不同。

于 2012-10-15T06:37:12.147 回答