navagationController 的子控制器如何取消右滑返回

1.首先在navagationController的某个控制器中 遵守:UIGestureRecognizerDelegate

2.在viewDidload中设置: self.navigationController.interactivePopGestureRecognizer.delegate = self;

3.实现代理方法:

- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer

{
    
//可以通过判断count选择哪一个控制器需要关闭右滑返回功能。 if (self.navigationController.viewControllers.count != 0)//关闭主界面的右滑返回 { //NO为关闭右滑返回 return NO; }else{
        //YES为开启右滑返回
return YES; } }

  

或者自定义leftbarButton,也可以自动禁用。

 self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]initWithTitle:@"返回" style:UIBarButtonItemStylePlain target:self action:@selector(didClickfanhui)];

原文地址:https://www.cnblogs.com/wahy/p/5041937.html