之前在项目中,偶然会发现这个问题,自定义导航栏或者隐藏导航栏都会有类似问题,跳转惨不忍睹,你会怀疑这是你写的代码吗?但是一直没搞明白到底是哪里的问题,直到今天下午,看到了这位仁兄的这篇文章
https://www.jianshu.com/p/e7ccc6ca0fef
写的很好,看到才恍然大悟,原来就是因为在根视图上的一个左滑引起的一系列问题,APP卡死,从后台进入错乱不堪,借鉴了文章的做法,实现了UIGestureRecognizerDelegate的代理方法:
#pragma mark
#pragma mark -- 是否允许手势启动
- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer{
// 如果是 NaivationController 的 根试图控制器, 则不允许启动手势
if (self.viewControllers.count <= 1) {
return NO;
}
return !_isCanclePopGesture;
}