1

私は5つのViewControllersを持つTabBarを持っています。FacebookアプリのようにSideBarMenuを設定するために、そのtabBarControllerの配列を使用しています。

viewController を使用して UINavigationController の RootViewController として設定すると、この viewController が配列 [self.tabBarController viewControllers] から削除されます。

なぜこれが起こっているのですか、どうすればこれを防ぐことができますか?

return [[UINavigationController alloc] initWithRootViewController:
[[self.tabBarController viewControllers] objectAtIndex:0]];  

objectIndex 0 の viewController は削除され、[self.tabbarcontroller viewControllers] は 4 つの viewController のみを返します。

4

1 に答える 1

1

UIViewController は、親を 1 つだけ持つことができます。ビュー コントローラーをタブ バーからナビゲーション コントローラーに追加すると、ナビゲーション コントローラーはビュー コントローラーを以前の親から切り離し、それ自体にアタッチします。これが発生する理由の詳細については、UIViewControllerドキュメントの「コンテナー ビュー コントローラーの実装」セクションを参照してください。

于 2012-12-19T14:57:45.433 に答える