1

これが簡単な質問であることを願っています。をインターセプトする必要がありますが、そのメソッドをオーバーライドするためにdidAddSubviewをサブクラス化する必要がありますか?UIView

UIViewオーバーライドしたいのはのUIViewControllerプロパティviewなので、これを操作する方法を知りたいだけです。

ありがとう!

4

1 に答える 1

2

AppleUIViewのドキュメントから (メソッドをオーバーライドする方法を参照):

UIView をサブクラス化する場合、オーバーライドする必要があるメソッドはほんの一握りで、必要に応じてオーバーライドできるメソッドは多数あります。UIView は高度に構成可能なクラスであるため、カスタム メソッドをオーバーライドせずに洗練されたビューの動作を実装する方法も多数あります。これについては、「サブクラス化の代替手段」セクションで説明しています。それまでの間、次のリストには、UIView サブクラスでオーバーライドすることを検討できるメソッドが含まれています

  • ...
  • didAddSubview:willRemoveSubview:- サブビューの追加と削除を追跡するために必要に応じてこれらのメソッドを実装します。
  • ...

したがって、UIViewサブクラスを作成してメソッドをオーバーライドします。次に、サブクラス化したものになることを伝えますUIViewControllerviewこれを実現するには、いくつかの方法があります。

  • によって シブ
  • loadViewメソッドを実装し、viewプロパティをカスタム ビューに設定します
  • viewプロパティの再定義viewDidLoad

それが役立つことを願っています。

于 2012-07-06T18:00:18.947 に答える