我正在尝试将splitview控制器添加为子视图控制器。父视图控制器是导航控制器。导航栏对于父视图控制器是隐藏的,我想将状态栏显示为iOS 6标准。我已经将splitview控制器添加为子视图控制器,因为我想从splitview控制器推送到另一个视图控制器。
我面临的问题是当我添加splitview控制器时,状态栏与内容重叠。将edgesForExtendedLayout设置为UIRectEdgeNone for masterview,detailview,parentview,splitview似乎无法正常工作。
请让我知道我可以申请的解决方案,以防止内容重叠状态栏,并以ios 6标准显示状态栏。
我尝试使用MGSplitViewController,但面临同样的问题。
感谢。
答案 0 :(得分:1)
我有完全相同的问题,并且能够解决这个问题。我在根上有一个UITabBarController,在前两个选项卡的每个选项卡上都有一个不同的UISplitViewController。对于我的一些细节视图,我将它与顶部的导航栏和底部的标签栏重叠。
我一开始尝试设置edgesForExtendedLayout
但没有成功,但事实证明你需要尽早设置它才能生效。你没有在你的问题中指明你在哪里设置你的财产,所以我希望这也会对你有所帮助:在{{1}中将edgesForExtendedLayout
设置为UIRectEdgeNone
您的UIViewController。
这是为我修复它的代码,而早先在-viewDidLoad
中执行此操作的尝试完全没有效果:
-viewWillLayoutSubviews
希望这会有所帮助......
埃里克
答案 1 :(得分:0)
当你说:
我正在尝试将拆分视图控制器添加为子视图控制器。
你的意思是将UISplitViewController设置为rootViewController吗?如果不是这就是为什么它表现得很奇怪。
然而,UISplitViewControllers的设计并不是这样的,请参阅此答案https://stackoverflow.com/a/2642701/383603
我会使用容器视图控制器来创建自定义拆分视图控制器:https://developer.apple.com/library/ios/featuredarticles/ViewControllerPGforiPhoneOS/CreatingCustomContainerViewControllers/CreatingCustomContainerViewControllers.html
这里有很多好的链接:Container View Controller Examples
显然有点烦人不得不重新创建它,但至少你可以完全控制它的行为。
答案 2 :(得分:0)
我认为你必须使用viewcontrollers parent,而启用了导航控制器的child可以帮助你。如果没有,请尝试此tutorial。 这对我有很大的帮助,我希望它也可以帮到你。