UITextViewに を追加しUIView、内容が変わるたびに背景色を変更したいとしましょう。のデリゲートになり、UITextViewを実装することでこれを行うことができますtextViewDidChange。
ただし、この動作を頻繁に使用する場合は、UITextViewサブクラスを作成してColorSwitchingTextView. デフォルトで色切り替え動作を含める必要があるため、その動作が必要な場合UIViewは、標準の代わりに簡単に追加できます。UITextView
ColorSwitchingTextViewクラス内からコンテンツの変更を検出するにはどうすればよいですか? みたいなことはできないと思いますself.delegate = self。
要約すると、UITextViewサブクラスはその内容がいつ変更されたかをどのように知ることができますか?
編集 を使用できるようですself.delegate = selfが、これは、を使用する UIViewControllerColorSwitchingTextViewも通知をサブスクライブできないことを意味します。ビューコントローラーで使用するswitchingTextView.delegate = selfと、サブクラスの動作が機能しなくなります。回避策はありますか?UITextViewそれ以外の場合は通常のように機能するカスタムを取得しようとしていますUITextView。