关于ios中 viewcontroller的跳转问题,其中有一种方式是采用navigationController pushViewController 的方法,比如我从主页面跳转到了一级页面,又从一级页面跳转到了二级页面,然后从二级页面跳转到了三级页面,依次类推。,如果一级一级的返回我知道是没有问题的.

方法一:

你自己算 你是第几级界面  然后pop回去就可以了

方法二:

​self.navigationController是当前的页面;

MyNeedJumpVC 是我们需要跳转的页面;

UINavigationController导航控制器初始化 导航控制器栈的push和pop跳转理解

(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有很多种,这个理解后就不难记忆。

最新文章

  1. iOS之判断手机号码、邮箱格式是否正确
  2. CSS3 动画基础
  3. java-GUI图形用户界面
  4. 用C#通过反射实现动态调用WebService 告别Web引用
  5. bat file handling, main: echo type *.txt >> />
  6. JAVA多线程的问题以及处理【转】
  7. ARM学习笔记10——GNU ARM命令行工具
  8. 改变TPageControl的活动标签颜色
  9. JTAG上有多个设备时,该如何接呢?
  10. JS清除DIV的选中状态
  11. 学习Lua setmetatable Lua 元表
  12. Linux查杀stopped进程
  13. vue style标签中使用less
  14. JSON.parse(JSON.stringify(obj))
  15. Docker容器中开始.Net Core之路
  16. delphi图片欣赏
  17. C# Request 获取Url
  18. 小白学习安全测试(三)——扫描工具-Nikto使用
  19. Atitit spring 3.0 3.1 3.2 4.0 4.3 5.0 新特性
  20. 事件驱动模型的简单Java实现

热门文章

  1. 如何创建magento模块z之Hello World例子(转)
  2. 【Spring】Spring+SpringMVC+MyBatis框架的搭建
  3. Eclipse的数据库插件
  4. 【转】Tesla Model S的设计失误
  5. 如何调试makefile变量
  6. C++项目參考解答:求Fibonacci数列
  7. Spring Hibernate JPA 联表查询 复杂查询(转)
  8. Mac 升级后idea执行git命令报错xcrun: error: invalid active developer path的解决办法
  9. 稀疏傅里叶变换(sparse FFT)
  10. CentOS 6.5 搭建NFS文件服务器