iOS回退到指定界面的demo

今天写一个简单的小demo,可能对很多大神来说,这都是小儿科,但是如果刚开始学习的话,还是会稍微纠结一下,就当是记录一下吧.

很多时候,我们会从第一个界面一直push到第二个,第三个,第四个......,但是回退的时候如果一个一个的回退回来就会有些尴尬了,这个时候我们可以让界面回退到指定的界面,这样看起来就会轻便的多.

第一个方法,大家都知道,就是

[self.navigationController popToRootViewControllerAnimated:YES];

这个就是从当前界面返回到跟控制器的方法,但是当你想从当前界面返回到中间的任意一个界面时,这个方法就不适合.

可以用下面的方法

//回退到指定界面
UINavigationController *naviVc = self.navigationController;//self.navigationController表示本界面
NSMutableArray *viewControllers = [[NSMutableArray alloc] init];//初始化一个vc的数组,用于存放跳转本界面以来的所有vc
for (UIViewController *vc in [naviVc viewControllers]) {//遍历一路跳转到本界面以来的所有界面
    [viewControllers addObject:vc];//将遍历出来的界面存放入数组
    
    //判断要回退的指定界面是否与遍历的界面相同,ZYYSeconedViewController也可以替换为ZYYThirdViewController
    if ([vc isKindOfClass:[ZYYSeconedViewController class]]) {
        [self.navigationController popToViewController:vc animated:YES];//执行回退动作
    }
}

此方法就可以退回到任意一个界面.

想看实际效果的,可以查看一下小demo iOS回退到指定界面的demo

你可能感兴趣的:(iOS回退到指定界面的demo)