iOS 滑动返回到指定控制器,pop到指定控制器

关于iOS 返回功能有几种情况,这里只说navigation的前提下

  • 返回按钮
  1. 点击返回按钮,默认返回上一级控制器
[self.navigationController popViewControllerAnimated:YES];
  1. 点击返回按钮,返回到指定控制器
for (UIViewController *controller in self.navigationController.viewControllers) {
    if (controller isKindOfClass:[XXViewController Class]) {
       [self.navigationController popToViewController:controller animated:YES];
       return;
    }
}
  1. 点击返回按钮,返回到根控制器
[self.navigationController popToRootViewControllerAnimated:YES];
  • 滑动返回到指定控制器
    因为滑动返回默认是返回到上一级控制器,想要返回到指定控制器,要么关闭滑动返回手势
 self.navigationController.interactivePopGestureRecognizer.enabled = NO;

要么把没用的控制器移除,把需要返回的控制器变成上一级

for (UIViewController* controller in self.navigationController.viewControllers) {
        if ([controller isKindOfClass:[AAAViewController Class]]) {
            [controller removeFromParentViewController];
        }
        if ([controller isKindOfClass:[BBBViewController Class]]) {
            [controller removeFromParentViewController];
        }
 }

这是在滑动返回,上一级就变成了我们需要返回的页面了

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,145评论 1 32
  • 从广东到天津,两千多公里。想不起来当初为什么选择那个城市,离家远,陌生而迷茫。只记得一心要北上,去不了北京上...
    GethyMu阅读 233评论 1 0
  • 2018.2.24 星期六 阴 你说 要忘却所有不愉快的片段把美好事物纯真的走完把疲乏往期 装进朴质的长街把失败恋...
    赵小乖想纹花臂阅读 670评论 0 1