容器视图控制器状态栏iOS 7

时间:2014-06-13 09:10:19

标签: objective-c ios7 uitabbarcontroller statusbar container-view

我有状态栏问题。我有一个UIViewController,它有一个容器视图,在UITabBarController内嵌入UIViewController

在我的View controller-based status bar appearance中使用YES = Info.plist启用我的应用中的状态栏时,它正常运行,根UIViewController会按预期显示状态栏

但是,它导致容器视图中的UITabBarController将我的视图内容向下推动20个像素,在我的标签栏视图的顶部留下了一个间隙,表示它认为状态栏应该在哪里。

但当然状态栏没有显示在那里,因为它显示在屏幕顶部的正常位置。所以它实际上只是在我的容器视图中添加一个空白。

2 个答案:

答案 0 :(得分:1)

我自己也遇到过这样的问题,问题是你的标签栏控制器中的任何视图都有一个约束,它与控制器的顶部匹配到toplayoutguide。容器视图中选项卡控制器的顶部布局指南仍然具有20的长度。一个有效的解决方案是删除此约束,并使视图与父视图控制器视图具有相同的顶部,或者调整高度/中心的大小 - y-to-container与父视图控制器的视图相同(parent是选项卡中的视图控制器,而不是嵌入标签栏控制器的视图控制器)。

TabBarController --> RootViewController --> RootVCView --> subview

制作subview.height == to RootVCView.heightsubview.centerY == rootVCView.centerY

这是因为您只有一个子视图的简单情况,您需要执行此操作,其中子视图具有顶部约束。如果不了解更多关于故事板布局的信息,这是我能提供的最佳解决方案。希望它有所帮助!

答案 1 :(得分:0)

添加' Top Space To:'不是" topLayoutGuide"对于您的容器视图,它将解决问题