听起来您已经开始使用“标签栏应用程序”模板,因此您的应用程序委托很可能也是您的 UITabBarController 的委托。UITabBarControllerDelegate 有这个方法:
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
在此方法中,您将检查“viewController”是否是您的第一个导航控制器,如果是,请将导航控制器 viewControllers 属性设置为子视图控制器的数组,其根视图控制器位于索引 0。
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
if (viewController == firstNavController)
viewController.viewControllers = [NSArray arrayWithObjects:rootViewController, otherViewController, nil];
}