在子视图控制器中显示导航栏

Sal*_*idi 4 uinavigationbar uinavigationcontroller ios childviewcontroller splitview

我正在开发一个应用程序,我必须并排显示多个视图控制器(拆分视图).为此,我添加了视图作为子视图控制器.

目标:我想在一个子视图控制器上显示导航栏,同时在父视图控制器上显示单独的导航栏.

问题:导航栏不会显示在子视图控制器上.

编辑:我还将父视图控制器的导航栏设置为隐藏但是当子视图控制器被调用时,导航栏出现在父视图控制器上,而不是子视图控制器上.

添加子视图控制器的代码是:

    MyChildViewController *childViewController = [[MyChildViewController alloc] initWithNibName:@"MyChildViewController" bundle:nil];

    [self addChildViewController:childViewController];
    [childViewController.view setFrame:CGRectMake(0.0f, 0.0f, self.rightContainerView.frame.size.width, self.rightContainerView.frame.size.height)];
    [self.rightContainerView addSubview:childViewController.view];
    [childViewController didMoveToParentViewController:self];
Run Code Online (Sandbox Code Playgroud)

此代码工作正常,子视图控制器完美添加.我想知道是否有可能?

提前致谢.

Sal*_*idi 9

我通过以下方式解决了这个问题:

MyChildViewController *childViewController = [[MyChildViewController alloc] initWithNibName:@"MyChildViewController" bundle:nil];
[childViewController.view setFrame:CGRectMake(0.0f, 0.0f, self.rightContainerView.frame.size.width, self.rightContainerView.frame.size.height)];

UINavigationController *childNavController = [[UINavigationController alloc] initWithRootViewController:childViewController];
childNavController.view.frame = childViewController.view.frame;

[self addChildViewController:childNavController];
[self.rightContainerView addSubview:childNavController.view];
[childNavController didMoveToParentViewController:self];
Run Code Online (Sandbox Code Playgroud)

现在当我添加导航栏时MyChildViewController,它会添加到子视图控制器中,不会影响父视图控制器的导航栏.navigationController子视图控制器的属性也不同于navigationController父视图控制器的属性,并且两者都有自己的导航堆栈.