iOS禁止右滑返回页面

话不多说,直接看代码

需要禁止右滑的controller里面引入代理
@interface SAL5DVC ()<UIGestureRecognizerDelegate>
@end
@implementation SAL5DVC
#pragma mark -- 禁止右滑返回
- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];
    if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) {
        self.navigationController.interactivePopGestureRecognizer.delegate = self;
    }
}
- (void)viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];
    if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) {
        self.navigationController.interactivePopGestureRecognizer.delegate = nil;
    }
}
- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer
{
    return NO;
}
@end

完美运行、亲测成功,之前 我是这么写的

- (void)viewDidAppear:(BOOL)animated 
{
   [super viewDidAppear:animated];
  //禁用屏幕左滑返回手势
  if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)])
    self.navigationController.interactivePopGestureRecognizer.enabled = NO;
}
- (void)viewDidDisappear:(BOOL)animated 
{
  [super viewDidDisappear:animated];
  //开启
 self.navigationController.interactivePopGestureRecognizer.enabled = YES;
}

这么写的问题在于,当进入页面之后,第一次向右滑动是可以返回的,松开第二次,才会有效果,不完美😂😂😂

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

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,964评论 25 709
  • 舒适惬意欺骗了她的真正生活,他给自己的内心住入了一种巨大激情的能力,却并没有给亲自的体验赋予意志与勇气
    记然阅读 152评论 0 0
  • 定义:正则表达式是一种特殊的字符串模式,用于匹配一组字符串,就好比用模具做产品,而正则就是这个模具,定义一种规则去...
    me__me11阅读 1,119评论 0 0
  • 幸歌,新认识的一个90后妹纸。和许多姑娘一样她做起了公众号,从公众号的内容来看,她喜欢电影和书,公号里面有很多影评...
    石榴树下_石榴妈阅读 261评论 0 0
  • 今天下大雨,早晨早早起床,孩子爸爸问今天还要送她去托付班吗?我说,去吧,风雨无阻!孩子立马自己找到雨伞,找...
    兆木兆木阅读 177评论 0 0