1

我有一个带有 5 个 ViewControllers 的 TabBar。我正在使用该 tabBarController 数组来填充 SideBarMenu,就像在 Facebook 应用程序中一样。

当我使用 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 只能有一个父级。当您将视图控制器从选项卡栏添加到导航控制器时,导航控制器会将视图控制器与其先前的父级分离并将其附加到自身。有关为什么会发生这种情况的更多信息,请阅读UIViewController文档的实现容器视图控制器部分。

于 2012-12-19T14:57:45.433 回答