我创建了一个名为CustomTextView
的类,它是UITextView
的子类。在整个项目中的许多地方都使用该类,例如,CustomTextView
在某些表视图单元格和集合视图单元格中以及其他许多地方都使用。我试图通过触摸屏幕上的任何其他位置来取消选择选定的文本,这类似于UILabels和WebKit的默认行为。我已经做了很多研究,但仍然无法从UITextView
的子类中找到如何做到这一点。目前,我正在尝试:
override func awakeFromNib() {
super.awakeFromNib()
let deselectGesture = UITapGestureRecognizer(target: self, action: #selector(deselectText))
self.addGestureRecognizer(deselectGesture)
}
@objc func deselectText() {
self.selectedTextRange = nil
}
唯一的问题是,这只有在用户再次按下文本视图时才起作用。我希望用户能够通过点击屏幕上的其他任何位置来取消选择所选文本。
仅供参考:我在项目中的所有文件均为XIB
文件。