iOS7 UISplitViewController状态栏

iOS7 UISplitViewController状态栏,ios7,uisplitviewcontroller,statusbar,Ios7,Uisplitviewcontroller,Statusbar,我正在尝试将splitview控制器添加为子视图控制器。父视图控制器是导航控制器。父视图控制器的导航栏是隐藏的,我想将状态栏显示为iOS 6标准。我添加了splitview控制器作为子视图控制器,因为我想从splitview控制器推送到另一个视图控制器 我面临的问题是,当我添加splitview控制器时,状态栏在内容上重叠。将masterview、detailview、parentview和splitview的edgesForExtendedLayout设置为UIRectEdgeNone似乎不起

我正在尝试将splitview控制器添加为子视图控制器。父视图控制器是导航控制器。父视图控制器的导航栏是隐藏的,我想将状态栏显示为iOS 6标准。我添加了splitview控制器作为子视图控制器,因为我想从splitview控制器推送到另一个视图控制器

我面临的问题是,当我添加splitview控制器时,状态栏在内容上重叠。将masterview、detailview、parentview和splitview的edgesForExtendedLayout设置为UIRectEdgeNone似乎不起作用

请让我知道我可以应用的解决方案,以防止状态栏中的内容重叠,并将状态栏显示为ios 6标准

我试着用MGSplitViewController做这件事,但遇到了同样的问题

谢谢。

当你说:

我正在尝试添加拆分视图控制器作为子视图控制器

您的意思是将UISplitViewController设置为rootViewController吗?如果不是的话,这可能就是为什么它表现得很奇怪

但是UISplitViewControllers并非设计为以这种方式工作,请参见此答案

我将使用容器视图控制器创建自定义拆分视图控制器:

这里有很多好的链接:


显然,重新创建它有点烦人,但至少您可以完全控制它的行为。

我认为您必须使用ViewController父级,启用导航控制器的子级可能会对您有所帮助。如果没有,那就试试这个。
这对我帮助很大,我希望它也能帮助你。

我也有同样的问题,并且能够解决这个问题。我在根目录下有一个UITabBarController,前两个选项卡上各有一个不同的UISplitViewController。对于我的一些细节视图,我让它与顶部的导航栏和底部的选项卡栏重叠

起初,我也尝试设置了
edgesForExtendedLayout
,但没有成功,但事实证明,您需要尽早进行设置,以使其生效。您在问题中没有具体说明在何处设置属性,因此我希望这也能对您有所帮助:在UIViewController的
-viewDidLoad
中,将
edgesForExtendedLayout
设置为
UIRectEdgeNone

这是为我修复它的代码,而以前在
-viewWillLayoutSubviews
中尝试这样做根本没有效果:

- (void)viewDidLoad
{
    [super viewDidLoad];

    // Prevent detail screen from sitting underneath navigation bar and tab bar:
    self.edgesForExtendedLayout = UIRectEdgeNone;
}
希望这有助于


埃里克也有同样的问题。也很好奇。苹果推荐的技术似乎不适用于SplitViewController。比如,你知道了吗?我在UISplitViewController上也遇到了同样的问题,与您一样,我已经尝试为所有可能的视图控制器设置edgesForExtendedLayout,但没有任何效果。谢谢