美文网首页
iOS中判断是从哪个控制器push进来的,返回指定控制器

iOS中判断是从哪个控制器push进来的,返回指定控制器

作者: smile刺客 | 来源:发表于2017-05-02 10:57 被阅读0次

    如果是一层层push进来的,可以使用下面方法进行返回:

    // 1

    // push将控制器压到栈中,栈是先进后出;pop是出栈:即将控制器从栈中取出。

    NSArray*arrController =self.navigationController.viewControllers;

    NSIntegerVcCount = arrController.count;

    //最后一个vc是自己,(-2)是倒数第二个是上一个控制器。

    UIViewController*lastVC = arrController[VcCount - 3];

    // 返回到倒数第三个控制器

    if([lastVCisKindOfClass:[XZViewControllerclass]]) {

    [self.navigationControllerpopToViewController:lastVCanimated:YES];

    }

    // 2

    [self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:0] animated:YES];

    // 3

    返回到指定的控制器:遍历一遍子控制器,判断一下哪个是要返回的控制器,进行返回

    for(UIViewController*controllerinself.navigationController.viewControllers) {

    if([controllerisKindOfClass:[XZViewControllerclass]]) {

    [self.navigationControllerpopToViewController:controlleranimated:YES];

    }

    }

    相关文章

      网友评论

          本文标题:iOS中判断是从哪个控制器push进来的,返回指定控制器

          本文链接:https://www.haomeiwen.com/subject/fpdctxtx.html