iOS 删除navigationController栈中得某一个viewController

原创 2015年11月19日 18:48:15

今天遇到需要删除某一个viewController的需求,即,在一个导航控制器中想跳过某一个vc而pop到更前面的vc。
首先尝试着在navigationController的所有方法中寻找removeXXX的方法或者deleteXXX的方法,但是翻遍navigationController的头文件也没有类似的方法,所以就只能曲线救国,采取其他方法实现类似的功能。在网上搜罗许久终于选择了下面的方法

    NSMutableArray *marr = [[NSMutableArray alloc]initWithArray:self.navigationController.viewControllers];
    for (UIViewController *vc in marr) {
        if ([vc isKindOfClass:[theVCYouWantToRemove class]]) {
            [marr removeObject:vc];
            break;
        }
    }
    self.navigationController.viewControllers = marr;

记得break;否则会出一些小问题
之前也试着使用过self removeFromParentViewController];[这个方法,但是会出现小得问题就放弃使用了。

版权声明:本文为博主原创文章,未经博主允许不得转载。

ios 移除 栈中的 uiviewcontroller ,直接返回之前的某个controller

转载来源:http://blog.csdn.net/ios_water/article/details/51283164 NSMutableArray *navigationArra...
  • wwww11519
  • wwww11519
  • 2017年03月16日 13:02
  • 487

iOS 删除navigationController某一个viewController

目前有这样一个需求,不如有一个认证流程,每个微信导航行控制器流程如下: A -> B ->C ->D   ,其中B和C是一个认证流程,走完这个流程,点击D的返回,直接回到A上。 即在navigatio...
  • IT_liuchengli
  • IT_liuchengli
  • 2017年12月24日 16:00
  • 176

iOS 删除navigationController栈中得某一个viewController

今天遇到需要删除某一个viewController的需求,即,在一个导航控制器中想跳过某一个vc而pop到更前面的vc。 首先尝试着在navigationController的所有方法中寻找remo...
  • it_male
  • it_male
  • 2015年11月19日 18:48
  • 9177

removeFromParentViewController

注意点: 1.当我们向我们的视图控制器容器中调用removeFromParentViewController方法时,必须要先调用该方法,且parent参数为nil: [将要删除的视图控制器...
  • Rwn4444
  • Rwn4444
  • 2017年02月15日 15:24
  • 1462

添加和移除子视图控制器(child ViewController)

// add child viewController UIViewController* controller = [self.storyboard instantiateViewCont...
  • u013993802
  • u013993802
  • 2016年11月08日 11:30
  • 5866

ios 移除 栈中的 uiviewcontroller ,直接返回之前的某个controller

NSMutableArray *navigationArray = [[NSMutableArray alloc] initWithArray: self.navigationController.v...
  • stubbornness1219
  • stubbornness1219
  • 2016年02月26日 15:17
  • 3561

ios/swift 移除 childViewControllers

//移除所有子视图控制器 - (void)removeAllChildViewControllers{ for (UIViewController *vc in self.childViewC...
  • stubbornness1219
  • stubbornness1219
  • 2016年03月15日 14:28
  • 2606

iOS有关pop到self.navigationController.viewControllers以外的界面

今天在编写项目时,遇到一个难题,就是pop出栈的问题,现在的场景是这样:如图 ↓ ,而遇到的问题则是当返回到商品详情/订单详情是,固定死的返回到对应额商品包/订单列表页面,那么,如果是从商品包点击pu...
  • wwww11519
  • wwww11519
  • 2017年05月19日 14:34
  • 698

self.navigationController退出到指定页面,或者一次性pop出n个页面

ios中 viewcontroller的跳转问题,其中有一种方式是采用navigationController pushViewController 的方法,可能会从主页面跳转到了一级页面,又从一级页...
  • ws1352864983
  • ws1352864983
  • 2016年10月29日 15:37
  • 1654

ios 如何dismiss连续好几个viewControllers

背景:我建立viewControllerA,B,C,D.目前是A presentViewController B,B presentViewController C,C presentViewCont...
  • qilixiang012
  • qilixiang012
  • 2014年12月10日 16:45
  • 2509
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS 删除navigationController栈中得某一个viewController
举报原因:
原因补充:

(最多只允许输入30个字)