嗨,我是编程的新手,我试着识别屏幕上的用户触摸并关闭所有文本字段,但是当我添加一个scrollview时,我无法做到这一点,我在堆栈溢出中读了很多,如:tap识别器,但在添加了我感到困惑的文本字段后,我再也不能这样做了
请告诉我该怎么办?
感谢
答案 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)
在动作中添加以下代码:
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)
}