* 屏幕边缘侧滑返回上一页是因为响应了self.navigationController的interactivePopGestureRecognizer手势;
* 返回失效的原因主要是UIPanGestureRecognizer与interactivePopGestureRecognizer两个手势发生冲突;
* 利用 [手势A requireGestureRecognizerToFail:手势B] 方法,在操作满足手势A条件时,先判断手势B是否也会被触发(是否有效),只有在手势B未触发(无效)的情况下手势A才会触发。
1、自定义手势冲突的解决方案
[panGestureRecognizer requireGestureRecognizerToFail:self.navigationController.interactivePopGestureRecognizer];
2、 添加了ScrollView导致冲突的解决方案
[selfScrollView.panGestureRecognizer requireGestureRecognizerToFail:self.navigationController.interactivePopGestureRecognizer];
当然,requireGestureRecognizerToFail 的应用场景不止于此,当我们需要在一个View上同时添加单击和双击手势时,如果不调用该方法,则双击手势永远不会被触发。
日常开发使用心得整理,如有纰漏,欢迎指正!!!