0

シナリオは次のとおりです。switchViewController は、メイン ウィンドウに追加されるビューです。switchViewController がメイン ビューなので、ビュー B に移動する場合は、ビュー B のサブビューを追加します。switchViewController のビューを削除する必要はありませんよね? 問題は、ビュー B から switchViewController のビューに戻った後、viewWillAppear メソッドが呼び出されなくなったことです。

なぜそうなのですか?

4

3 に答える 3

2

viewWillAppear:ビューがビュー階層から削除または追加されたときに、 は自動的には呼び出されません。適切なタイミングで呼び出すのは、View Controller の役割です。組み込みのView Controllerクラスは、新しいView Controllerを提示またはプッシュするたびにこれを行います。アプリでこのメカニズムを使用しないため、メソッドは呼び出されません (自分で呼び出さない限り)。

于 2011-02-18T18:11:24.183 に答える
1

それは決して消えなかったからです。あなたはその前に何か他のものを置いていたのです。ある画面から別の画面に移動したい場合、それらは別のビュー コントローラーである必要がUINavigationControllerあり、そのpushViewController:isAnimated:メソッドを使用する必要があります。

于 2011-02-18T18:09:28.600 に答える
0

別のビューに移動するのではなく、最初のビューを変更するだけなので、呼び出されません。

ビューをナビゲーション コントローラーに埋め込み、次に ViewB を呼び出すことを検討してください。

[navigationController pushViewController:viewB animated:YES];
于 2011-02-18T18:11:46.570 に答える