Swift:LongPressGestureRecognizer和滚动视图之间的冲突

时间:2017-08-21 12:28:11

标签: ios swift uiscrollview uigesturerecognizer uilongpressgesturerecogni

我在UIScrollView中有一个UIView。我希望视图在点击它时开始执行某些操作,并在点击结束时执行不同的操作。因此我使用了UILongPressGestureRecognizer。我将minimumPressDuration设置为零。这很好用,但我的问题是我不能再正确使用滚动视图了,因为视图中的每次触摸都会触发手势识别器。

有谁知道如何解决这个问题? 我可以告诉LongPressGestureRecognizer不要对滑动手势做出反应吗?

1 个答案:

答案 0 :(得分:3)

您是否尝试过设置:

let gesture = UILongPressGestureRecognizer()
gesture.cancelsTouchesInView = false

还可以尝试使用UILongPressGestureRecogniser

extension ViewController: UIGestureRecognizerDelegate {
    func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
        return true
    }
}

ViewController是您的手势识别器的delegate