iOS 7 之后,Apple增加了屏幕边缘右滑返回交互的支持,然而iOS导航栏的返回按钮一定制,系统的右滑返回手势就失效了,但是这么顺畅的用户体验方式怎么可以没有呢。网上也有像FDFullscreenPopGesture的第三方,以下文章适合于简单的都有导航栏的情况:
解决问题必须先找到原因,才能对症下药:
原因:自定义返回按钮导致的该手势未起作用是因为在delegate阶段被阻断了。
解决方法有以下两种:
1、自己重新设置interactivePopGestureRecognizer的delegate以让手势继续下去,触发系统的动画action。
在baseNavigationController中添加如下代码:
self.interactivePopGestureRecognizer.delegate = (id)self;
运行程序,你会发现实现了右滑返回,但是滑着滑着你会发现在跟视图控制器上右滑之后,出现了严重的卡顿现象,此时是因为
根视图控制器已经不需要触发右滑返回了,但是右滑的话就会出现卡顿,说明也触发了右滑返回,我们可以在导航控制器中做个筛选,
让可以POP的控制器继续触发。