0

我有一个标签栏应用程序,里面有导航控制器和视图控制器。这是如何布置的。在标签栏应用程序中重置以前的导航控制器

Tab Bar 1 
- Navigation Controller 
-- Root View Controller 
-- Other view controller 

Tab Bar 2 
- Navigation Controller 
-- Root View Controller 

我想要做的是,当我浏览到标签栏1中的其他视图控制器,然后切换到标签栏2,我想要的标签栏1返回到它的根视图控制器。

我在找的行为与iPod App类似。任何帮助表示赞赏。谢谢!

回答

1

听起来你已经开始使用'Tab Bar Application'模板,所以很可能你的应用程序委托也是你的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]; 
} 
相关问题