Possible Duplicate:
How to detect iPhone 5 (widescreen devices)?


我们可以使用以下方式区分iPad和iPhone

UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone/UIUserInterfaceIdiomPad

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

最佳答案

引用this post:

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

关于iphone - iPhone 4,iPhone 5和iPad在用户界面方面有所区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12890408/

10-11 21:46