iOS开发—UINavigationController导航控制器-说明

(1) 导航控制器(UINavigationController)相当于一个栈,里面装的是各个视图控制器(ViewController)。最先进去的视图控制器在最下面,最后进去的视图控制器在最上面。导航控制器被初始化的时候一般都有一个根视图控制器,位于栈的最底层。在最上面的那个视图控制器就是该导航控制器对外展示的控制器,即用户看到的界面。

(2) 把导航控制器载入到App中,须要把该导航控制器设置为window的根视图控制器(rootViewController)

(3) 在栈中新增或删除一个视图控制器,就需要先得到导航控制器。一般在栈中的视图控制器都有一个self.navigationController(我的导航控制器),即该视图控制器所在的导航控制器,这样就拿到了导航控制器。

(4) 向栈中新增视图控制器用pushViewController方法,即向栈内推进去一个视图控制器,对用户而言就是打开了一个新界面。

(5) 从栈中删除视图控制器用popViewController方法,该方法将位于最上面的视图控制器弹出去,对用户而言就是从当前视图返回到了上一级视图。

(6) push和pop实质上是跳转页面的操作。pop有很多操作方法,如弹出去当前视图控制器、弹出到指定视图控制器或根视图控制器。

(7) 导航控制器中有一个属性viewControllers(数组),存储该导航控制器的栈中所有的视图控制器,最先被push进去的视图控制器是0,以此类推...最后被push进去(栈顶)视图控制器是viewControllers中的最后一个。self.navigationController.viewControllers[0]就是该导航控制器的根视图控制器。

你可能感兴趣的:(iOS开发—UINavigationController导航控制器-说明)