美文网首页
iOS:如何正确的禁止系统手指侧滑返回上一页的的姿势

iOS:如何正确的禁止系统手指侧滑返回上一页的的姿势

作者: iOS技术小卒 | 来源:发表于2017-12-01 16:53 被阅读269次

之前开发过程中,A (viewController)页面 是首页,A页面嵌入了B(viewController)子页面,从子视图B  push  到 C页面,再添加了pop回来的按钮。点击pop回来的按钮页面都是没问题的,但是,手指侧滑返回上一页的时候A页面却直接黑屏,这极大的影响了用户体验,让我头疼。

问题原因,我觉得是我点击A 页面的子视图,导致无法识别要返回的视图。解决这个问题,要么指定返回的页面,要么禁用C页的系统侧滑返回的功能。在网上我找到了很多方法,类似以下的都无效:

// 关闭返回手势

//    if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) {

//        self.navigationController.interactivePopGestureRecognizer.enabled = NO;

//    }

如果无效的话,建议使用另一位大神网友的这种方法,在此感谢网友的智慧和分享:

以下是网友的原文:

在药禁用的页面加上协议:<UIGestureRecognizerDelegate>

然后:

兄弟,如果你试过了各种方法都还是不行的话,不妨在试试下面的方法。

id traget = self.navigationController.interactivePopGestureRecognizer.delegate;

UIPanGestureRecognizer * pan = [[UIPanGestureRecognizer alloc]initWithTarget:traget action:nil];

[self.view addGestureRecognizer:pan];

直接将代码拷贝到viewDidLoad总就行了

确实解决了我的问题。

希望能帮助到你。

相关文章

网友评论

      本文标题:iOS:如何正确的禁止系统手指侧滑返回上一页的的姿势

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