美文网首页
关于侧滑返回指定页面

关于侧滑返回指定页面

作者: mqw | 来源:发表于2019-10-28 14:32 被阅读0次

    产品提出了一个需求,返回和侧滑返回都返回首页,返回就将返回按钮的触发事件定义为返回首页即可,侧滑返回,只要将目标控制器和当前控制器中间的控制器删除即可实现,我们在viewDidLoad中定义这个方法即可

           //在需要侧滑到指定控制器的控制器的 view 加载完毕后偷偷将当前控制器与目标控制器之间的所有控制器出栈
         //# 1. 获取当行控制器所有子控制器
         NSMutableArray <UIViewController *>* tmp = self.navigationController.viewControllers.mutableCopy;
        // # 2. 获取目标控制器索引
         UIViewController * targetVC = nil;
           for (NSInteger i = 0 ; i < tmp.count; i++) {
               
               UIViewController * vc = tmp[i];
               if ([vc isKindOfClass:NSClassFromString(@"HomePageViewController")])
               {
                   targetVC = vc;
                   // 也可在此直接获取 i 的数值
                   break;
               }
           }
         NSInteger index = [tmp indexOfObject:targetVC];
        // # 3. 移除目标控制器与当前控制器之间的所有控制器
         NSRange  range = NSMakeRange(index + 1, tmp.count - 1 - (index + 1));
           
         [tmp removeObjectsInRange:range];
        // # 4. 重新赋值给导航控制器
         self.navigationController.viewControllers = [tmp copy];
    

    相关文章

      网友评论

          本文标题:关于侧滑返回指定页面

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