我有一个标签栏应用程序,里面有导航控制器和视图控制器。这就是它的布局。
Tab Bar 1
- Navigation Controller
-- Root View Controller
-- Other view controller
Tab Bar 2
- Navigation Controller
-- Root View Controller
我想要做的是当我导航到Tab Bar 1中的Other视图控制器,然后切换到Tab Bar 2,我希望Tab Bar 1返回其Root View Controller。
我正在寻找的行为类似于iPod App。任何帮助表示赞赏。谢谢!
答案 0 :(得分:1)
听起来您已经开始使用“标签栏应用程序”模板,因此很可能您的应用程序委托也是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];
}