iOS:识别UI scrollView上的触摸

时间:2017-04-26 12:20:47

标签: ios swift

嗨,我是编程的新手,我试着识别屏幕上的用户触摸并关闭所有文本字段,但是当我添加一个scrollview时,我无法做到这一点,我在堆栈溢出中读了很多,如:tap识别器,但在添加了我感到困惑的文本字段后,我再也不能这样做了

请告诉我该怎么办?

感谢

3 个答案:

答案 0 :(得分:0)

关闭键盘是UIView的子视图,然后使用

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
    self.view.endEditing(true)

}

用于解除键盘是UIScrollview的子视图,然后在此处使用滚动视图观察userInteraction,以便“通过将用户输入的用户设置为NO为滚动视图”。

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
    self.yourSCrollviewName.endEditing(true)

}

对于各种类型的键盘重新签名,其他一些类型已在SO

中回答

<强>更新

隐藏键盘,创建TapGesture for your scrollview

    self.ScrollView.isUserInteractionEnabled = true
   // ScrollView.keyboardDismissMode = .onDrag
    let tap = UITapGestureRecognizer(target: self, action: #selector(doubleTapped))
    tap.numberOfTapsRequired = 1
    self.ScrollView.addGestureRecognizer(tap)

并将操作称为

  func doubleTapped() {
    // do something cool here
     self.ScrollView.endEditing(true)
}

答案 1 :(得分:0)

  • 您必须在ScrollView上添加点按手势
  • 在动作中添加以下代码:

    self.yourSCrollviewName.endEditing(真)

答案 2 :(得分:0)

let tapGesture = UITapGestureRecognizer(target: self, action: #selector(keyBoardHideOnTap))
tapGesture.numberOfTapsRequired = 1
self.ScrollView.addGestureRecognizer(tapGesture)


func keyBoardHideOnTap() {
    // do something cool here
     self.ScrollView.endEditing(true)
}