在 UIScrollView 上时,tapGestureRecognizer 未触发操作 Swift

tapGestureRecognizer not firing action when on a UIScrollView Swift

我有一个 ViewController,它有一个 UIScrollView,并且在使用 tapGestureRecognizer 时键盘不会消失。这个动作甚至不会开火。通常这在我构建的其他 ViewController 上工作正常。

我认为 UIScrollView 正在耗尽所有触摸事件。我知道您可以将 UIScrollView 设置为关闭键盘,但我需要它来识别 tapGesture。这是我的代码:

@IBOutlet var tapGesture: UITapGestureRecognizer!

tapGesture = UITapGestureRecognizer(target: self, action: "tapRecognized:")
    self.view.addGestureRecognizer(tapGesture)
    tapGesture.cancelsTouchesInView = false

func tapRecognized(recognizer: UITapGestureRecognizer){

    self.truckName.resignFirstResponder()
    self.engineMake.resignFirstResponder()

    truckName.endEditing(true)

    self.view.endEditing(true)

    println("tap gesture")
}

我想通了,它不起作用的全部原因是因为我将 tapGesture 添加到超级视图而不是滚动视图中的内容视图。我很高兴我解决了它,但讨厌你花几个小时尝试,一旦你 post 这个问题就出现了。