Я пытаюсь создать UITextView, который является редактором кода на IOS, и я пытаюсь сделать разные типы кода разными цветами, чтобы все не было одним цветом (например, комментарии были бы серыми).
Проблема, с которой я столкнулся, заключается в том, что я связываю текстовое представление следующим образом:
@IBOutlet weak var textView: UITextView!
и мне нужно определить, когда textView был изменен, знаете ли вы, как это сделать?





Для этого вам нужно соответствовать протоколу UITextViewDelegate, а затем установить делегат textView на себя.
Итак, после UIViewController в начале этого контроллера представления вам нужно добавить соответствие протокола. Пример
class MyViewController: UIViewController, UITextViewDelegate {
затем установите делегата в viewDidLoad():
override func viewDidLoad() {
super.viewDidLoad()
textView.delegate = self
}
Теперь вы настроены на успех. Все методы делегата в UITextViewDelegate являются необязательными, поэтому вам нужно реализовать только те, которые вы хотите. В этом случае вы хотите реализовать func textViewDidChange(_ textView: UITextView).
Этот метод будет срабатывать каждый раз, когда текст в текстовом поле обновляется.
О, делаю это с помощью IBAction. Это интересный способ сделать это. Классная идея.