两种跳转模式连续跳转后,返回指定页面或根页面

第一种:连续push后,返回
[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:2] animated:YES];
// 或(通过class定位)
for (UIViewController *controller in self.navigationController.viewControllers) {
if ([controller isKindOfClass:[你要跳转到的Controller class]]) {
[self.navigationController popToViewController:controller animated:YES];

    }
}

第二种:连续present后,返回
UIViewController *vc =self.presentingViewController;

if ( !vc.presentingViewController )   return;
        
        //循环获取present出来本视图控制器的视图控制器(简单一点理解就是上级视图控制器),一直到最底层,然后在dismiss,那么就ok了!
       
while (vc.presentingViewController)
{
    vc = vc.presentingViewController;
}
NSString*name = [[NSString alloc]init];
name = [NSString stringWithFormat:@"%s",NSStringFromClass(vc.class).UTF8String];

NSLog(@"----%@---",name);
[vc dismissViewControllerAnimated:YES completion:^{
    
}];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值