美文网首页iOS常用
iOS 一级页面禁止侧滑,多级(二级及以上)页面开启系统侧滑

iOS 一级页面禁止侧滑,多级(二级及以上)页面开启系统侧滑

作者: 橙_知足常乐 | 来源:发表于2021-06-29 09:51 被阅读0次

    情况:页面A=>B=>C  继承BaseVC,A禁止侧滑,B、C开启

    在baseVC处理

    一:在viewDidLoad判断是否是非一级页面,开启系统侧滑

    可复制代码:

    if (self != [self.navigationController.viewControllers firstObject]) {//非一级页开启侧滑

            //开启系统自带侧滑返回

           if([self.navigationControllerrespondsToSelector:@selector(interactivePopGestureRecognizer)]) {

                   self.navigationController.interactivePopGestureRecognizer.delegate = (id)self;

            }

    }

    二:在viewDidAppear 和viewDidDisappear进行一级页面A的关闭开启侧滑处理

    可复制代码

    - (void)viewDidAppear:(BOOL)animated

    {

          [superviewDidAppear:animated];

         //禁止页面左侧滑动返回,注意,如果仅仅需要禁止此单个页面返回,还需要在viewWillDisapper下开放侧滑权限

         // 禁用返回手势

        if (self == [self.navigationController.viewControllers firstObject]) {//一级页

            if([self.navigationControllerrespondsToSelector:@selector(interactivePopGestureRecognizer)]) {

                self.navigationController.interactivePopGestureRecognizer.enabled = NO;

            }

         }

    }

    - (void)viewDidDisappear:(BOOL)animated {

        [superviewDidDisappear:animated];

        // 开启返回手势

        if (self == [self.navigationController.viewControllers firstObject]) {//一级页

            if([self.navigationControllerrespondsToSelector:@selector(interactivePopGestureRecognizer)]) {

                self.navigationController.interactivePopGestureRecognizer.enabled = YES;

            }

        }

    }

    相关文章

      网友评论

        本文标题:iOS 一级页面禁止侧滑,多级(二级及以上)页面开启系统侧滑

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