Скажем, я добавляю UITextView
к моему UIView
, и я хочу, чтобы он менял свой цвет фона при каждом изменении содержимого. Я могу сделать это, став делегатом UITextView
и внедряя textViewDidChange
.
Если я часто использую это поведение, имеет смысл создать подкласс UITextView
, который я буду называть ColorSwitchingTextView
. Он должен включать поведение переключения цвета по умолчанию, так что любой UIView
может просто добавить его вместо стандартного UITextView
, если он хочет этого поведения.
Как определить изменения в содержимом из моего класса ColorSwitchingTextView
? Я не думаю, что могу сделать что-то вроде self.delegate = self
.
В общем, как может подкласс UITextView
знать, когда изменяется его содержимое?
ИЗМЕНИТЬ
Кажется, я могу использовать self.delegate = self
, но это означает, что UIViewController, который использует ColorSwitchingTextView
, также не может подписаться на уведомления. Когда я использую switchingTextView.delegate = self
в контроллере представления, поведение подкласса больше не работает. Любые обходные пути? Я пытаюсь получить пользовательский UITextView
, который в противном случае работает как обычный UITextView
.