创建多个UINavigationController的目的是什么?

时间:2014-03-20 06:00:27

标签: ios uinavigationcontroller

例如在FirstViewController中,我想推送SecondViewController,我在FirstViewController中有一个navigationController,我可以直接将SecondViewController推送到它吗?

除非SecondViewController有另一组导航层次结构,否则只为它创建另一个navigationController才有意义?

2 个答案:

答案 0 :(得分:1)

FirstViewController中没有导航控制器; 它位于导航控制器中。

导航控制器是一个容器。您在顶部看到的导航栏属于导航控制器。下面的内容属于当前位于导航堆栈顶部的视图控制器(工具栏除外,如果您正在显示)。

您实际上无法将另一个导航控制器推入堆栈 - 这会引发异常。因此,除非您拥有标签式应用程序结构,否则大多数应用程序将只有一个导航控制器。

答案 1 :(得分:0)

大声笑?

右键单击导航控制器的主体,将蓝线拖到FirstViewController。选择" Root View Controller"弹出窗口。

右键单击FirstViewController的主体并将其拖到SecondViewController,选择" push"。

单击第一个和第二个视图控制器之间的线,这是一个Segue。给segue一个unqiue标识符,如" firstToSecondSegue"。

在FirstVewController.m中,您可以通过编程方式将SecondViewController推送到导航堆栈

[self performSegueWithIdentifier:@"firstToSecondSegue" sender:self]; 

storyboard