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 上的自动布局调整对象的大小以适应不同的屏幕尺寸?