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