【问题标题】:tapGestureRecognizer not firing action when on a UIScrollView Swift在 UIScrollView Swift 上时,tapGestureRecognizer 不会触发动作
【发布时间】:2015-06-18 21:31:38
【问题描述】:

我有一个带有 UIScrollView 的 ViewController,使用 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")
}

【问题讨论】:

    标签: ios swift uiscrollview uitextfield


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2011-05-04
      • 2011-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多