Avatar
omochimetaru 7/5/2021 1:08 PM
delegateは一つしか設定できないので異なる目的で2箇所から設定しようとしていると破綻しますね。 難しいしややこしくなるのでオススメはしないけど方法はあります。 TextViewを継承して、delegate プロパティの getter と setter をオーバーライドして、別のプロパティ (userDelegate など) として保存して、本来の super.delegate プロパティに、自前のデリゲートオブジェクト(今プレースホルダの実現に使ってるやつ)を渡します。 自前のデリゲートオブジェクトは、各種デリゲートメソッドの呼び出しを実装して、 userDelegate のメソッドも呼ぶようにすれば、ユーザー側からは普通にデリゲートが使えてるように見えます。