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


(2)我们须要把导航控制器载入到APP中,须要把这个导航控制器设置为window的根视图控制器(都是控制器类,能够赋值),这样就相当于载入到了window里。


(3)我们要在栈中新增或者删除一个视图控制器,就须要得到导航控制器,一般在栈中得全部视图控制器都有一个self.navigationController,意思是我的导航控制器,也就是这个视图控制器所在的导航控制器,这样就拿到了导航控制器。


(4)栈中新增视图控制器用pushViewController,事实上就是push进去一个,这样对于用户而言就是打开一个新界面了。


(5)栈中删除一个视图控制器用popViewControllerAnimated,当然这个pop仅仅能pop最上面的那个,对于用户而言相当于从当前视图回到上一级视图。


(6)事实上这个push和pop对于用户而言都是打开和跳转页面的一个操作。而pop由很多其它地操作方法,如一下子pop掉仅仅剩下一个根视图控制器,那么就相当于从好几层直接回到最原始的主页面。也能够指定pop几个,以跳转到指定的页面。


(7)最重要的应该就是这个push和pop方法,而pop有非常多种,这个理解后就不难记忆。


(a)AppDelegate.m中,添加以下代码:


(b)在ViewController.m添加下面代码:


(c)在SecondViewController.m中添加下面代码:


截个图:

【iOS开发-21】UINavigationController导航控制器初始化,导航控制器栈的push和pop跳转理解【iOS开发-21】UINavigationController导航控制器初始化,导航控制器栈的push和pop跳转理解

相关文章:

  • 2021-05-24
  • 2021-04-27
  • 2021-07-29
  • 2022-02-17
  • 2021-12-25
猜你喜欢
  • 2022-01-16
  • 2022-12-23
  • 2022-01-16
  • 2021-11-13
  • 2021-06-10
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案