ios - 在 UITableViewController 中使用 UITextView - 点击外部以关闭键盘

标签 ios swift xcode uitableview uitextview

我在表格单元格内使用 TextView 。其他单元格与 segues 相关联,因此我需要以下行为:

  1. (默认)点击其他表格行会触发相关的segue

  2. 在 TextView 内点击开始编辑并显示键盘

  3. 如果键盘可见,在 TextView 外点击会关闭键盘但不会跟随 segues

  4. 一旦键盘被关闭,后续的 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/

相关文章:

ios - 如何启用 UILabel 以便用户可以长按单词复制或 "Define"呢?

ios - 在 ARKit 体验中计算旋转 SCNPlane 的 4 个顶点位置

xcode - brew 更新错误您的 CLT 不支持 macOS 11.2

ios - 在 Swift 中以编程方式修改 View 高度

objective-c - AVAudioSession - 降低 iOS 背景音量为效果让路

ios - 如何禁用工具栏项?

ios - 我如何在 iOS Swift 的单个项目中使用两个 GMSMapViews

swift - 如何声明重抛函数?

objective-c - 生成的自定义托管对象类未构建

iOS ,是否可以从文件中读取 objective-c 代码并在程序的特定点执行它?