如果未采用 xib,如何使视图控制器与 iphone 5 兼容
Posted
技术标签:
【中文标题】如果未采用 xib,如何使视图控制器与 iphone 5 兼容【英文标题】:how to make the view controller compatible with iphone 5 if xib not taken 【发布时间】:2013-05-03 04:31:16 【问题描述】:如果没有使用 xib 文件,如何使视图控制器与 iphone 5 兼容。是否有可能以编程方式进行更改。 提前致谢。
【问题讨论】:
“如果它的 xib 文件没有被占用”是什么意思? @IronManGill 添加了没有 xib 文件的视图控制器类,我只以编程方式进行操作。 是的,他说的是其他方式,但并不是我们无法理解他的意思 @PrakashDesai 在我的 iphone5 底部显示死区,这意味着屏幕尺寸只有 480,然后这些方法无法实现? 视图大小为 480 意味着它适用于 iphone classic 来解决这个问题,如果我在我的回答中提出了其他建议。您的视图高度为 480,但 iphone 5 的高度超过 550,所以很明显,您将得到死空间希望现在它清楚了 :) 【参考方案1】:是的,你可以做到这一点。 XIB 也只是文件,只需在文本编辑器中打开一个 - 您会看到它由可读的 xml 代码组成。现在为了使 viewController 与 Iphone 5 兼容,只需设置 if else 条件,并通过检查特定设备的高度来分别为不同设备制作东西 但毫无疑问,这将是一项长期的工作
对于我的通用应用程序,外汇应用程序,我只是像这样使用屏幕高度检测概念:
CGSize screenSize = [[UIScreen mainScreen] bounds].size;
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
if (screenSize.height > 480.0f)
/*Do iPhone 5 stuff here.*/
else
/*Do iPhone Classic stuff here.*/
else
/*Do iPad stuff here.*/
【讨论】:
【参考方案2】:检查设备是否为 iPhone 5 并设置框架编程..
CGRect screenRect = [[UIScreen mainScreen] applicationFrame];
if (screenRect.size.height >= 548 )
// set your frame for iPhone 5
else
// set your frame for iPhone 4
【讨论】:
【参考方案3】:是的,您可以通过添加以下条件来做到这一点
CGSize result = [[UIScreen mainScreen] bounds].size;
if(result.height == 480)
iPhone 4 or less
else if (result.height == 568)
iPhone 5 condition
无论您想在哪里区分这两款手机。
【讨论】:
以上是关于如果未采用 xib,如何使视图控制器与 iphone 5 兼容的主要内容,如果未能解决你的问题,请参考以下文章
如何使自动布局与 XIB 中的自定义 UIView 一起使用?