区分iPhone 4,iPhone 5和iPad之间的用户界面

时间:2012-10-15 06:33:35

标签: iphone ios ipad

  

可能重复:
  How to detect iPhone 5 (widescreen devices)?

我们可以使用

来区分iPad和iPhone
UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone/UIUserInterfaceIdiomPad

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

1 个答案:

答案 0 :(得分: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的高度是不同的,例如获取视图的高度。