两个几乎相同的 UITapGestureRecognizers 中的一个比另一个慢得多

One of two practically identical UITapGestureRecognizers acting much slower than the other

我有 2 个几乎相同的点击手势,如下所示:

let minusGesture = UITapGestureRecognizer(target: self, action: Selector("minusSlider:"))
minusGesture.numberOfTapsRequired = 1
downArrowImageView.addGestureRecognizer(minusGesture)

let plusGesture = UITapGestureRecognizer(target: self, action: Selector("plusSlider:"))
plusGesture.numberOfTapsRequired = 1
upArrowImageView.addGestureRecognizer(plusGesture)

它们会触发几乎相同的操作,如下所示:

func minusSlider(sender: UITapGestureRecognizer) {
    if mySlider.value > mySlider.minimumValue {
        mySlider.value -= 1
    }
}

func plusSlider(sender: UITapGestureRecognizer) {
    if mySlider.value < mySlider.maximumValue {
        mySlider.value += 1
    }
}

这是上下文的屏幕截图。基本上,点击相应的箭头会将滑块值向上或向下移动 1。

当我点击向上箭头时,它非常灵敏。我可以快速点击并且它工作正常。但是,当我点击向下箭头时,它触发的动作非常缓慢。它只有在我点击速度非常慢时才有效。如果我以更快的速度点击,它会非常迟钝,每隔几次点击就会工作,其余时间我都会收到此错误:

<_UISystemGestureGateGestureRecognizer: 0x17d3aac0>: Touch: Failed to receive system gesture state notification before next touch

为什么只有向下箭头点击手势而不是向上箭头会出现此错误?除了我在上面发布的内容以及它们位于我视图的相对边缘之外,没有其他东西可以将这两个手势分开。

尝试- requireGestureRecognizerToFail

https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIGestureRecognizer_Class/#//apple_ref/occ/instm/UIGestureRecognizer/requireGestureRecognizerToFail:

- gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:

https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UIGestureRecognizerDelegate_Protocol/index.html#//apple_ref/occ/intfm/UIGestureRecognizerDelegate/gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:

minusGesture 以某种方式被视图中的其他手势覆盖。