在使用UIScrollView Swift时,tapGestureRecognizer不会触发操作

时间:2015-06-18 21:31:39

标签: ios swift uiscrollview uitextfield

我有一个具有UIScrollView的ViewController,键盘在使用tapGestureRecognizer时不会被忽略。行动甚至不会开火。通常这适用于我构建的其他ViewControllers。

我认为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")
}

1 个答案:

答案 0 :(得分:1)

我明白了,它无法正常工作的原因是因为我将tapGesture添加到superview而不是scrollview中的内容视图。我很高兴我解决了这个问题,但是当你花费数小时努力时就讨厌它,并且一旦你发布问题就会讨厌它。