iOS自带左侧侧滑滑动功能,但是当你自定义leftBarButtonItem就会导致侧滑失效,那么如下代码写于自定义导航栏控制器类中可恢复该功能:
- (void)viewDidLoad {
[super viewDidLoad];
if ([self respondsToSelector:@selector(interactivePopGestureRecognizer)]) {
self.interactivePopGestureRecognizer.delegate = self;
}
}
接着会出现一个bug,当你在根控制器的时候多次侧滑的时候,就是发现卡死的情况,那么要加上如下代理的代码,遵循代理UIGestureRecognizerDelegate.
//当手势开始滑动作用:拦截手势触发
- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer {
//子控制器个数只剩下一个(这一个就是根控制器),手势不可用
BOOL open = self.childViewControllers.count != 1;
return open;
}