5

サブクラス化された uiviewControllers を持つ他のサブビューに追加する ViewController があります

そのため、次のようになります。

mainViewController
       |
  v---------v
subVC1   subVC2

また、subVC1 または subVC2 のどちらにも viewDidAppear/viewWillAppear が起動されていませんか? メインのView Controllerはアプリデリゲートで作成されており、そこにもウィンドウにビューが追加されています。

私の問題を示すxcodeプロジェクトは次のとおりです

4

2 に答える 2

5

私はあなたのコードを見ました。したがって、問題は、ビューがサブビューの 1 つではなく、ウィンドウに追加されたときに viewWillAppear/viewDidAppear が呼び出されることです。そのためには、viewDidLoad を使用することをお勧めします。

于 2010-10-17T20:58:23.127 に答える
1

まず、この UIViewController の階層で行っていることを実際に行う必要があると確信していますか? あなたの MainViewController が、あなたsubVC1とあなたsubVC2が担当しているビューを処理できないのはなぜですか?

次に、MainViewController から呼び出すコードを記述すると、viewWillAppear/viewDidAppear が呼び出されます。設計について他に何も知らなければ、それらをいつ呼び出すべきかについてアドバイスすることは実際には不可能ですが、「メイン」ビューが表示されているときにサブコントローラーのビューが常に表示されるようにする場合は、おそらくそれらを呼び出すことが理にかなっていますの viewWillAppear/viewDidAppear メソッドからmainViewController

于 2010-10-17T20:46:54.433 に答える