0

通常の答えは、いつビューが表示されるかです。

UIViewController があるとします。それを vc と呼びましょう。

vc でビューを制御したいとします。

だから私は vc.view = trustedView; をします。

私は、controlledView が表示されようとするたびに [vc viewWillAppear] が呼び出されることを期待しています。

そうではありません。

どうしたの?

また、私がした後でもviewDidLoadも呼び出されません

[vc view]

技術的には、vc.view は既に読み込まれています

4

4 に答える 4

2

viewWillAppear名前自体が示すように、ビューが表示されようとしているときに常に呼び出されます。

ビュー コントローラーがポップオーバー内のビュー コントローラーによって表示される場合、このメソッドは、表示されたコントローラーが閉じられた後、表示側のビュー コントローラーで呼び出されません。

ビュー コントローラのライフ サイクルは次のようになります。

ビューコントローラーが割り当てられてロードされると、loadView が呼び出され、次に viewDidLoad が呼び出されます。全体の流れは画像の通りです。

この画像を参照してくださいここに画像の説明を入力

注:この画像はこの回答から取得したものです

于 2013-07-17T05:06:53.743 に答える
0

正解は以下です。

子viewControllerを親子View Controllerの子として追加しましたか。

viewWillAppear は、他の viewController が子として宣言されていない限り、親のビュー コントローラー (トップ画面のビュー コントローラー) に対してのみ呼び出されます。

次に、parentViewController が viewWillAppear イベントを渡します。

于 2013-08-22T06:04:31.390 に答える