Objective c 容器视图控制器状态栏iOS 7
我有状态栏问题。我有一个Objective c 容器视图控制器状态栏iOS 7,objective-c,ios7,uitabbarcontroller,statusbar,container-view,Objective C,Ios7,Uitabbarcontroller,Statusbar,Container View,我有状态栏问题。我有一个UIViewController,这有一个容器视图,其中在UIViewController中嵌入了一个uiabbarcontroller 使用myInfo.plist中的查看基于控制器的状态栏外观启用my app中的状态栏时,它将正常工作,根UIViewController将按预期显示状态栏 但是,它会导致容器视图中的UITabBarController将我的视图内容向下推20个像素,在我的选项卡栏视图顶部留下一个间隙,以便它认为状态栏应该位于的位置 当然,状态栏不会显示
UIViewController
,这有一个容器视图,其中在UIViewController
中嵌入了一个uiabbarcontroller
使用myInfo.plist
中的查看基于控制器的状态栏外观启用my app中的状态栏时,它将正常工作,根UIViewController
将按预期显示状态栏
但是,它会导致容器视图中的UITabBarController
将我的视图内容向下推20个像素,在我的选项卡栏视图顶部留下一个间隙,以便它认为状态栏应该位于的位置
当然,状态栏不会显示在那里,因为它通常显示在屏幕的顶部。因此,它实际上只是在我的容器视图中添加了一个间隙。我自己也有类似的问题,问题是无论选项卡栏控制器中的视图是什么,都有一个约束,该约束将控制器顶部与toplayoutguide相匹配。容器视图中选项卡控制器的顶部布局指南的长度仍为20。一个有效的解决方案是删除此约束,并使视图与父视图控制器视图具有相同的顶部,或者将高度/中心y到容器的大小调整为与父视图控制器的视图相同(父视图是选项卡中的视图控制器,而不是嵌入选项卡栏控制器的视图控制器)
tabbar控制器-->根视图控制器-->根视图-->子视图
将subview.height==to RootVCView.height
,和subview.centerY==RootVCView.centerY
这适用于只有一个子视图的简单情况,您需要在每个子视图都有顶部约束的情况下执行此操作。在不了解故事板布局的情况下,这是我能提供的最佳解决方案。希望有帮助 结果是,topLayoutGuide
将状态栏的“我的视图”向下推了20个像素。因为它需要一个状态栏,topLayoutGuide
添加了这个20像素的空间
在我的故事板中,视图控制器的最顶层子视图有一个将其固定到视图顶部的约束。此约束是视图顶部
等于topLayoutGuide底部
这意味着当topLayoutGuide
添加了20像素的空间时,我的整个视图都被这个空间抵消了
通过将约束改为固定到topLayoutGuide top
,创建的空间现在正好位于我的正常子视图下方,不会引起任何问题。为容器视图添加“top space to:”约束,而不是“topLayoutGuide”,它将解决问题是否使用自动布局和约束?是的。这一切都是在故事板中完成的。你能用tabbarcontroller和它的viewcontroller发布故事板的照片吗?约束在左侧完全展开?谢谢rvijay007。虽然你的解决方案不符合要求,但它却把我引向了正确的方向。我没有想到《topLayoutGuide》
。我留下了我的答案,一切都解决了,谢谢!