如何修改NavigationController的rootviewcontroller?

Nuz*_*ari 18 objective-c uinavigationcontroller

我有navigationController,它作为modalview呈现,其rootviewcontroller是FirstViewController.At某点我想将navigationController的navigationview控件更改为SecondViewController.我做的是

[self.navigationController initWithRootViewController:SecondViewController];
Run Code Online (Sandbox Code Playgroud)

我不确定我所做的是否正确以及FirstViewController是否已发布?请问有谁知道这样做的正确方法是什么?

提前致谢!

Cos*_*que 43

做其中之一

[firstViewController.navigationController setViewControllers: [NSArray arrayWithObject: secondViewController] 
                                                    animated: YES];
Run Code Online (Sandbox Code Playgroud)

要么

firstViewController.navigationController.viewControllers = [NSArray arrayWithObject: secondViewController];
Run Code Online (Sandbox Code Playgroud)

其中firstViewController是的一个实例FirstViewControllersecondViewController是的一个实例SecondViewController的类,分别.后一种变体是setViewControllers:animated:没有动画的快捷方式.

  • 这两种方法都替换了导航控制器内的整个视图控制器堆栈."旧"控制器被释放.堆栈数组以根控制器开头,其最后一个元素是最顶层的视图控制器. (5认同)