gpt4 book ai didi

ios - 在编辑 UITextView 和触摸 TableView Controller 中键盘以外的任何地方时无法关闭键盘

转载 作者:行者123 更新时间:2023-11-28 20:49:14 24 4
gpt4 key购买 nike

我在 TableView Controller 的一个单元格中有几个 textView,当您触摸键盘以外的任何地方时,我试图关闭键盘。我已经尝试了 touches started 方法,但它没有用。 TextView 不是透明的,并且启用了用户交互。

class RegisterTableViewController: UITableViewController {
override func viewDidLoad() {
// set all text views delegate to self
}

// dismiss keyboard on touch
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
print("touch")
super.touchesBegan(touches, with: event)
view.endEditing(true)
}
}

extension RegisterTableViewController: UITextViewDelegate {
func textViewDidBeginEditing(_ textView: UITextView) {
textView.text = ""
}
}

我是 swift 的新手,非常感谢任何帮助!

最佳答案

  • 在您的 UITableViewCell 文件中添加 touchesBegan 代码,如果您在 TextField 外部但在单元格内部触摸,这将起作用

    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
    self.Your_TextField.endEditing(true)
    }
  • 但它不会在 cell 之外工作(在另一个 ViewControllerUIVIew 中),所以添加 UITapGesture 实现这一目标

    override func viewDidLoad() {
    super.viewDidLoad()
    let tapgest = UITapGestureRecognizer(target: self, action: #selector(taptoend))

    self.Your_Table_View.addGestureRecognizer(tapgest)
    }

    @objc func taptoend()
    {
    self.Your_Table_View.endEditing(true)
    print("Key-Board will be dismissed here")
    }

关于ios - 在编辑 UITextView 和触摸 TableView Controller 中键盘以外的任何地方时无法关闭键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59433181/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com