Xcode - 如何检测 iPhone 的屏幕尺寸 [关闭]

Posted

技术标签:

【中文标题】Xcode - 如何检测 iPhone 的屏幕尺寸 [关闭]【英文标题】:Xcode - How do I Detecting screen size of iPhone [closed] 【发布时间】:2013-09-11 05:06:36 【问题描述】:

我有两个 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 中(我把它放在哪里了吗?)并且构建失败,说存在解析问题预期标识符“(” 谁能帮我解决这个简单的问题?谢谢!

【问题讨论】:

if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) 使用此行 这个问题似乎是题外话,因为它是关于一个错字。 问题出在你的代码中,你已经添加了额外的)只需删除它就可以了 @MartinR 不确定应该使用什么关闭原因。 @Sumurai8:错字问题没有“预配置”关闭原因(不再),比较meta.stackexchange.com/questions/192846/…。 【参考方案1】:

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

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

现在无论你想在哪里查看屏幕尺寸,只要做出如下条件,你就可以为所欲为......

 if(IsIphone5)

    //your stuff

else
  
  //your stuff

编码愉快!!!!

【讨论】:

这并没有回答关于给定代码无法编译的问题。 这可能不是问题的答案,但这个答案是我朋友检测屏幕尺寸的最简单和最聪明的方法。为什么要编写 3 或 4 行代码来仅检测屏幕尺寸.. @NiravPatel 你能简要解释一下为什么它是聪明的答案吗? @DhavalBhadania :Ghare aavje 解释 karis.... @NiravPatel 但它在我的代码中不起作用......你能解释一下如何使用它......真的是 yar nahi chal tu 吗?【参考方案2】:

提出这个条件

if ((int)[[UIScreen mainScreen] bounds].size.height == 568)

    // This is iPhone 5 screen
 else 
    // This is iPhone 4/4s screen

【讨论】:

这并没有回答关于给定代码无法编译的问题。 @BradConidaris :当您为 3.5 或 4 英寸屏幕加载笔尖时,您可以检查此情况并相应地加载您的笔尖 你能详细说明一下吗?对笔尖感到困惑 @BradConidaris :当您在那里推送带有导航的 viewController 时,您可以检查这种情况并加载您需要的 xib 文件。【参考方案3】:

去掉这一行末尾多余的“)”

if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone))

【讨论】:

【参考方案4】:

试试这个删除最后一个括号

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
       

【讨论】:

-1 用于添加重复的答案。 我将代码放在哪个文件中? Appdelate.m?

以上是关于Xcode - 如何检测 iPhone 的屏幕尺寸 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Xcode 8 上的自动布局调整对象的大小以适应不同的屏幕尺寸?

如何在 xcode4.3 中获取和修改显示屏幕尺寸

在 Xcode 中将图像尺寸调整为不同的 iPhone 屏幕尺寸

检测触摸并按住屏幕iPhone(Xcode)[重复]

获取 iPhone 的物理屏幕尺寸(以英寸为单位)

Xcode 5:不同屏幕大小的 iPhone 自动布局视图调整大小问题