2

Apple doc を読んでいますが、ルート コントローラーとは何かがわかりません。ドキュメントによると、これはスタックの一番下にあるコントローラーです。もしかして、これが初めて押したコントローラー?誰でもこの概念を説明できますか?

Apple doc UINavigationControllerから、initWithRootViewController というメソッドがあることがわかりました

新しく作成されたナビゲーション コントローラーを初期化して返します。- (id)initWithRootViewController:(UIViewController *)rootViewController

どういう意味ですか?では、ルートView Controllerを変更することは可能ですか?

4

2 に答える 2

2

rootViewControllerこれはオブジェクトのタイプではなく、プロパティ名であることを忘れないでください。UIViewControllerNubbelが言ったように、たまたまスタックの一番下にある特定のインスタンスです。

のようなメソッドinitWithRootViewControllerは、 を初期化UINavigationControllerし、「この VC を階層内の最初の VC として使用する」ように指示する場合に使用します。

UINavigationController作成後にそのプロパティを変更することを本当に望んでいないようですが、ppl はそれを行う方法を見つけたようです: - コメントをチェックして、これが「承認された」動作方法であるかどうかを確認してください。

于 2011-10-01T22:16:10.683 に答える
1

ドキュメントとあなたがすでに言ったように、それはスタックの一番下にあるコントローラーであり、スタックに最初にプッシュされたコントローラーです。後続のコントローラーは、RootViewController の上にプッシュされます。RootViewController に戻るには、popToRootViewControllerAnimated:メソッドを使用できます。さらに、RootViewController を変更することはできません。

于 2011-04-16T10:19:04.273 に答える