IOS禁止手势侧滑返回上一个页面

我只是一个虾纸丫 提交于 2019-12-02 12:50:04

想着要实现页面出现之后不进行操作无法返回的效果,没想到隐藏了返回按钮之后发现用手势还是可以返回,到网上找了很久,发现大致的套路都是修改navigationControllerinteractivePopGestureRecognizer.enabled的属性为NO,有的说在跳转前的页面设置,有的说在跳转后的页面设置,当是我试了一下发现都没什么用。
虽然还有监听手势操作的方案,但是感觉实现起来有点麻烦,最后在网上找到了一个方案,试了一下把所有的手势禁用,终于解决了问题。
实现代码如下

-(void)popGestureChange:(UIViewController *)vc enable:(BOOL)enable{
    if ([vc.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) {
        //遍历所有的手势
        for (UIGestureRecognizer *popGesture in vc.navigationController.interactivePopGestureRecognizer.view.gestureRecognizers) {
            popGesture.enabled = enable;
        }
    }
}

这个函数的使用可以在viewDidAppear调用,调用完之后记得在viewDidDisappear恢复原先的设置

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!