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)];