NSMutableArray *viewControllersArray = [NSMutableArray new];
    // 获取当前控制器数组
    for (CardLoanBaseTableViewController *viewController in self.navigationController.viewControllers) {
        [viewControllersArray addObject:viewController];
        if ([viewController isKindOfClass:[self class]]) {
            break;
        }
    }
 
获取到数组之后,可以对数组进行添加删除等操作,之后重新设定nav数组!
尽量少用firstObject啥的,以防之后修改代码还需要重新设定!
    [self.navigationController setViewControllers:viewControllersArray animated:YES];
 
 
1.使用此代码,并享受:

NSMutableArray *navigationArray = [[NSMutableArray alloc] initWithArray: self.navigationController.viewControllers];
// [navigationArray removeAllObjects]; // This is just for remove all view controller from navigation stack.
[navigationArray removeObjectAtIndex: 2]; // You can pass your index here
self.navigationController.viewControllers = navigationArray;
 
2. 你可以先获取数组中的所有视图控制器,然后用相应的视图控制器类检查后,你可以删除你想要的下面是一小段代码:
NSArray* tempVCA = [self.navigationController viewControllers];
for(UIViewController *tempVC in tempVCA)
{
if([tempVC isKindOfClass:[urViewControllerClass class]])
{
[tempNavBarItems removeFromParentViewController];
}
}
3. 如果你正试图从第五视图控制器(跳过第3和第4)移动到第二个视图控制器,你想[self.navigationController popToviewController:secondViewController],可以你得到secondViewController从导航控制器堆栈。
secondViewController = [self.navigationController.viewControllers objectAtIndex:yourViewControllerIndex];

- (NSEnumerator *)reverseObjectEnumerator

按照索引号从大到小访问数组的元素,而不是从小到大访问数组的元素。
 

NavigationController.viewControllers的更多相关文章

  1. iOS7 NavigationController 手势问题

    在iOS7中,如果使用了UINavigationController,那么系统自带的附加了一个从屏幕左边缘开始滑动可以实现pop的手势.但是,如果自定义了navigationItem的leftBarB ...

  2. navigationController 返回前N个视图

    前提是,由N个视图跳转过来的. //返回前n个 NSInteger index=[[self.navigationController viewControllers]indexOfObject:se ...

  3. navigationController pop的几种方法

    一,popViewControllerAnimated [self.navigationController popViewControllerAnimated:YES]; 二,popToRootVi ...

  4. 导航栏全透明效果, 只保留左右两个按钮, 如何实现?以及关于NavigationController的小问题

    [self.navigationController.navigationBar setBackgroundImage:[UIImage imageWithColor:[UIColor clearCo ...

  5. NavigationController popToViewController跳转之前任意ViewController方法

    NSArray *viewControllers = self.navigationController.viewControllers;A *viewController = [viewContro ...

  6. navigationController 之间的切换

    项目要实现从一个Navigation 下push出的第N层controller后 立即切换到另一个 Navigation下 例如:在微信的通讯录Nav中选择一个好友,进入好友的详细资料,点击发消息按钮 ...

  7. navigationController pushViewController 多次跳转后怎么返回

    使用NavigationViewController进行页面跳转时,应该使用pushViewController方法来跳转至下一页面,这样的话,下一页面同样在NavigationViewControl ...

  8. 时间紧迫,写一些 NavigationController 一次性返回2级界面甚至更多级的界面

    在NavigationController中,调用pushViewController可以将界面推到指定的界面,调用popToViewController可以返回上层界面,可是它的实现原理是什么? 好 ...

  9. navigationController Pop回指定页面

    [self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIn ...

随机推荐

  1. 在Eclipse中配置Tomcat7.0

    为了在Eclipse中进行struts2的测试,才发现自己机器上的Eclipse没有集成Tomcat,在网上找了半天,不是这个插件没有下载地址,就是那个有好多注意事项或者版本问题.结果,自己到tomc ...

  2. php系统函数-----数组函数

  3. 理想中的 PCB 文件格式

    理想中的 PCB 文件格式 因为平时写代码使用 git,在画 PCB 也使用 git 来管理 PCB 文件. 但是 PCB 文件是二进制的,所以在比较时非常麻烦. 虽然 PCB 文件可以导出 文本文件 ...

  4. MDK警告 warning: #111-D: statement is unreachable

    解析: "statement is unreachable"这句一般是说编译器认为程序执行不到这里. 因为本人运行程序的时候,再向前有一个While(1)循环, 理论上说除非你里面 ...

  5. win7 QT +opencv环境搭建

    1.Win7 Qt4.8.5+QtCreator2.8.0+mingw环境参考前博文先搭建 2.下载Cmake2.8.11.2版本,安装.运行 [项目]那编译器选择:MinGW4.4.另外,重新编译O ...

  6. Java API 操作Redis

    针对Redis的Java客户端有很多种,具体查看官网信息:https://redis.io/clients#java 本次测试使用Jedis API,Jedis使用方便,其api方法名称与redis命 ...

  7. 一篇文章学LINQ(原创)

    本篇文章主要介绍linq的基本用法,采用sql和linq比较的方式由浅入深进行学习, 注意:此文章是根据真实表来进行案例说明,表结构如下:  表1:    Student(学生表)           ...

  8. linux中日志文件查找,根据关键字,vi命令,awk和wc

    参考: http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2856896.html 当时需求:查看系统日志,统计系统的处理时间(从请求进去系统到系 ...

  9. 汇编_指令_CS与DS的区别

    cs是值cpu执行的当前指令的段地址,ds是数据开始的段地址. CS是告诉CPU,去哪个位置找内容当成指令去执行:DS是告诉CPU,去哪个位置找内容当成数据被使用. datastring =ds co ...

  10. ptyhon中文本挖掘精简版

    import xlrd import jieba import sys import importlib import os #python内置的包,用于进行文件目录操作,我们将会用到os.listd ...