在 iOS 7 中,为啥视图高度与 iOS 6 中的相同视图不同
Posted
技术标签:
【中文标题】在 iOS 7 中,为啥视图高度与 iOS 6 中的相同视图不同【英文标题】:In iOS 7, why view height different from the same view in iOS 6在 iOS 7 中,为什么视图高度与 iOS 6 中的相同视图不同 【发布时间】:2013-09-15 22:29:44 【问题描述】:我有一个视图控制器,它是 UINavigationController
的根视图控制器,UINavigationController
是 UITabBarViewController
的控制器
像这样的结构:
UITabBarViewController->UINavigationViewController->UIViewController
但问题是,当我使用这个视图控制器的 self.view.frame.size.height 属性时,我得到了不同的结果。
在 ios 6 中,我得到 548。但在 iOS 7 中,我得到 568。所以我可以准确地放置我的自定义子视图,因为它的位置基于视图的高度。
【问题讨论】:
请阅读 iOS 7 UI 过渡指南 (developer.apple.com/library/prerelease/ios/documentation/…),其中涵盖了状态栏的更改以及如何处理它们。 为什么没有人阅读官方文档...? 你真的不应该手动设置框架。现在很多版本都推荐使用 AutoLayout。它有它的问题,但对于通用视图来说它非常好。 【参考方案1】:iOS7 视图位于导航栏下方,您可以在 viewController 中停止视图位于导航栏下方:
self.edgesForExtendedLayout = UIRectEdgeNone;
【讨论】:
以上是关于在 iOS 7 中,为啥视图高度与 iOS 6 中的相同视图不同的主要内容,如果未能解决你的问题,请参考以下文章
在 iOS 7 下运行我的 iOS 6 应用程序时,为啥我的视图上没有正确显示阴影?
iOS 8:为啥 NSLayoutAttributeCenterX 无法将我的视图居中? (适用于 iOS 7)