我在表格单元格内使用 TextView 。其他单元格与 segues 相关联,因此我需要以下行为:
(默认)点击其他表格行会触发相关的segue
在 TextView 内点击开始编辑并显示键盘
如果键盘可见,在 TextView 外点击会关闭键盘但不会跟随 segues
一旦键盘被关闭,后续的 segues 就会随之而来。
最佳答案
<强>1。采用textView
委托(delegate)方法和
textView.delegate = self
<强>2。添加全局属性
var tap = UITapGestureRecognizer()
<强>3。实现 textView
委托(delegate)方法
func textViewDidBeginEditing(textField: UITextView) {
self.tableView.allowsSelection = false
tap = UITapGestureRecognizer(target: self, action: #selector(self.Tapped))
self.view.addGestureRecognizer(点击)
}
func textViewDidEndEditing(textField: UITextView) {
self.tableView.allowsSelection = true
self.view.removeGestureRecognizer(点击)
}
<强>4。实现 Tapped()
func Tapped(){
view.endEditing(真)
}
注意:这也适用于 UITextField,在整个过程中将 View 替换为 Field
关于ios - 在 UITableViewController 中使用 UITextView - 点击外部以关闭键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38358548/