美文网首页
导航控制器

导航控制器

作者: 放肆肆肆 | 来源:发表于2016-05-31 20:17 被阅读202次

    程序一进入时,就要让窗口的跟控制器是一个导航控制器.

    1.新建窗口

    2.创建导航控制器,并设置导航控制器的跟控制器

    3.把导航控制器设置为窗口的根控制器

    4.显示窗口

    说明:

    1.当设置导航控制器的根控制器时,也就是initWithRootViewController,

       它底层其实是调用了导航控制器的push方法,把该控制器添加为导航控制器的子控制器.

        并且它会把该控制器的View添加到导航控制器专门存放子控制器的View上面.

    2.把导航控制器设为窗口的根控制器时,它就会把导航控制器的View添加到窗口的View上面.

       所以程序一运行时,我们看到的就是一个导航控制器的View.

      导航控制器的View内部默认有两个子view.一个是导航条,一个是专门存放子控制器的view.

      现在专门存放子控制器的view里面存放的就是导航根控制器的view.

      导航控制器的子控制器都是存放到一个栈中,也就是一个数组中.

    当调用导航控制器的push方法时,就会把一个控制器压入到导航控制器的栈中.

    那么刚压入栈中的这个导航控制器就在栈的最顶部.

    它就会把原来导航控制器当中存放的子控制view的内容移除.

    然后把导航控制器栈顶控制器的view添加到导航控制器专门存放子控制器view当中.

    注意:

    只是把控制器的view从导航控制器存放子控制器的view当中移除,并没有把控制器从栈中移除,所以上一个控制器还在.

    当调用pop方法时,就会把导航控制器存放子控制器view当中控制器的view移除,并且把该控制器从栈里面移除.

    此时该控制器就会被销毁,接着它就会把上一个控制器的view添加到导航控制器专门存放子控制器的view中

    相关文章

      网友评论

          本文标题:导航控制器

          本文链接:https://www.haomeiwen.com/subject/tlsqdttx.html