0

UIViewControllersには、 viewDidLoadviewWillAppearviewDidAppearなどのいくつかのメソッドがあります。質問は次のとおりです。「たとえば、ビューの背景色を設定し、インスタンス化し、UILabelの背景色を設定するのに最適な場所はどこですか。または、クラスで@propertyとして設定したオブジェクトなどをインスタンス化しますか?」

ありがとう!

4

3 に答える 3

2

一度にたくさんの質問!

ビューを初めてロードするときはviewDidLoad、すぐに初期化できるすべてのUI要素にすでにアクセスできるため、ビューを構成したり、クラスのプロパティを設定したりするのに最適な場所です。

ビューがすでにロードされている場合(たとえば、ナビゲーションコントローラーからビューをポップするか、モーダルビューコントローラーを閉じることによって)ビューに戻った場合、はviewDidLoad呼び出されません。したがって、View Controllerの初期化後に発生した可能性のあることに基づいて、何かを変更する場合(背景、ラベルの追加、ラベルの背景の変更など)は、を使用する必要がありますviewWillAppear

viewDidAppearビューがすでに表示された後にユーザーが変更を表示できるように、変更をアニメーション化する場合に使用します。

編集:これは、IBまたはストーリーボードを使用する場合に適しています。コードでビューを作成する場合については、CitronEvanescentの回答を参照してください。

于 2012-11-01T14:12:44.163 に答える
0

プログラムでビューを作成している場合は、このメソッドにプロパティを設定できます。- (void) loadViewこのメソッドは、何かが表示される前に1回呼び出されます。

一般的に、のUI要素をインスタンス化し、のUI-(id) initを更新することを好みますloadView

詳細については:建設リファレンスを見る

于 2012-11-01T14:13:22.123 に答える
0

実行可能なメソッドは、viewDidLoadまたは-(id)init-(id)initWithNibName クラスのコンストラクターになります。 viewWillAppearビューが表示されるたびに変数が呼び出されるため、変数を何度もインスタンス化したくないため、避ける必要がありviewDidAppearます(popまたはtabSwitchから)。これらの2つのメソッドは、再表示時にいくつかの変数値を変更する場合に役立ちます。

于 2012-11-01T14:15:01.527 に答える