Попробуйте, я создал пользовательский класс textview и протокол, который необходимо подтвердить в своем классе, и реализую этот метод для получения текста textview каждый раз, когда вы нажимаете textview.
class CustomTextView: UITextView {
weak var delegateCustomTV: CustomTextViewDelegate?
override func awakeFromNib() {
super.awakeFromNib()
let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(self.textViewTapped))
self.addGestureRecognizer(tapGestureRecognizer)
}
@objc func textViewTapped() {
delegateCustomTV?.preparedText(text: self.text ?? "")
}
}
protocol CustomTextViewDelegate: class {
func preparedText(text: String)
}
используйте, как я использовал ниже,
class yourViewController: UIViewController, CustomTextViewDelegate {
@IBOutlet weak var textView: CustomTextView!
override func viewDidLoad() {
super.viewDidLoad()
textView.delegateCustomTV = self
}
func preparedText(text: String) {
// You will get your text here when you click on textview
print(text)
}
}