Xcode - 如何检测iPhone的屏幕尺寸

时间:2013-09-11 05:06:36

标签: ios objective-c

我有两个xib,一个用于iPhone 4,一个用于iPhone 5; 3.5英寸和4英寸。我只是想放一些代码来告诉应用程序要加载哪个。我有这个代码应该做的工作:

if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone))
{
    CGSize result = [[UIScreen mainScreen] bounds].size;
    if(result.height == 480)
    {
    //Load 3.5 inch xib
    }
    if(result.height == 568)
    {
        //Load 4 inch xib
    }

我把它放在ViewController.M中(是我把它放在哪里?)并且构建失败,说有一个解析问题,期望标识符为“(” 有人可以帮我解决这个简单的问题吗?谢谢!

4 个答案:

答案 0 :(得分:19)

在你的prefix.pch文件中添加以下行...这是检查屏幕大小的最简单方法,无需额外添加代码行......

#define   IsIphone5     ( fabs( ( double )[ [ UIScreen mainScreen ] bounds ].size.height - ( double )568 ) < DBL_EPSILON )

现在,无论您想检查屏幕大小,只需创建如下条件,您就可以随心所欲地做任何事情....

 if(IsIphone5)
{
    //your stuff
}
else
{  
  //your stuff
}

快乐编码!!!!

答案 1 :(得分:4)

把这个条件

if ((int)[[UIScreen mainScreen] bounds].size.height == 568)
{
    // This is iPhone 5 screen
} else {
    // This is iPhone 4/4s screen
}

答案 2 :(得分:2)

从此行删除额外的“)”

if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone))

答案 3 :(得分:2)

请尝试删除最后一个括号

if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
{
      CGSize result = [[UIScreen mainScreen] bounds].size;
      if(result.height == 480)
      {
            //Load 3.5 inch xib
      }
      else if(result.height == 568)
       {
             //Load 4 inch xib
       }
}