设置:我有一个水平运行的Scroll View,还有一个UISwipeGestureRecognizer,当我向下滑动时会触发segue到另一个视图。

问题:如果我正在水平滚动并且开始向下滑动(禁用垂直滚动),而滚动正在使减速,则向下滑动操作(segue)将不会执行。它仅在滚动减速完成后才起作用。

ios - 禁用UIScrollView惯性(scrollViewDidEndDecelerating)Swift-LMLPHP

有没有一种方法可以禁用滚动减速度(即惯性),以便可以立即检测到我的向下滑动手势?也许有一种解决方法可以强制首先检测UISwipeGestureRecognizer?

Swift中的解决方案受到高度赞赏!

最佳答案

UIScrollView有一个pinchGestureRecognizer和一个panGestureRecognizer。如果您有UISwipeGestureRecognizer,则该手势很可能会被识别为UIPanGestureRecognizer
您可以添加一个依赖项来解决问题:

scrollView.panGestureRecognizer.requireGestureRecognizerToFail(swipeGesture)

09-26 16:51