嵌入自定义容器视图控制器和UISplitViewController时,内容位于导航栏下方

时间:2015-08-07 07:41:04

标签: ios autolayout uinavigationbar uisplitviewcontroller uicontainerview

我正在使用UISplitViewController和UIContainerView,如图

所示

enter image description here

显示此代码的代码是:

self.slidingViewController.topViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"SplitContainerVC"];

非常确定容器视图的自动布局是准确的。

为什么我的内容视图(搜索栏等)位于UINavigation bar之下?请参见附图。

enter image description here

我删除了以下代码,其工作正常:

- (BOOL)splitViewController:(UISplitViewController *)svc shouldHideViewController:(UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation
{
    return NO;
}

但我需要以上代码。这背后的问题是什么?

1 个答案:

答案 0 :(得分:0)

从iOS 8开始,您应该使用preferredDisplayMode。在iOS8中不推荐使用shouldHideViewController

要以纵向模式显示两个视图控制器,请执行以下操作:

self.splitViewController.preferredDisplayMode = UISplitViewControllerDisplayModeAllVisible;

希望这有帮助!