2012-07-13 76 views
0

我有一个Iphone应用程序,其中我有3 tabitems tabbarcontroller.Inside tabbarcontroller每个viewcontroller是一个导航controller.when选择第二个选项卡我有一个视图controller.when选择一个按钮,我推另一个视图控制器到self.navigation控制器。并在该视图控制器我推,并像那样。但问题是,当我选择tabitem再次pushviewcotrooller显示在那里。但我需要那里的rootview再次当我选择选项卡,我试图像这样在我的代码,但没有奏效,`如何在每次选择选项卡时加载我的rootview?

-(void)tabBarController:(UITabBarController *)tabbBarController didSelectViewController:(UIViewController *)viewController 
{ 
    if(tabBarController.selectedIndex==0) 
    { 
     //[viewController.tabBarItem setImage:[UIImage imageNamed:@"pinboard_hvr.png"]]; 
    } 
    else if (tabBarController.selectedIndex==1) 
    { 
     NSLog(@"%@",viewController); 
     //[viewController.tabBarItem setImage:[UIImage imageNamed:@"pinboard_hvr.png"]]; 
     // NSArray *array = [viewController.navigationController viewControllers]; 
     NSLog(@"%@",array); 

     // [self.navigationController popToViewController:[array objectAtIndex:0] animated:YES]; 


     [viewController.navigationController popToRootViewControllerAnimated:YES]; 
     //[appdelegate.navigationController popToRootViewControllerAnimated:YES]; 

    } 
    else if (tabBarController.selectedIndex==2) 
    { 

     //[viewController.tabBarItem setImage:[UIImage imageNamed:@"pinboard_hvr.png"]]; 

    } 
} 

`我有坡平根并采取视图控制器的阵列都尝试,但没有任何人worked.Can帮我实现这一目标?

回答

1

我也曾经有过,我在下面的代码解决了类似的问题。

-(void)tabBarController:(UITabBarController *)tabbBarController didSelectViewController:(UIViewController *)viewController 
{ 
    else if (tabBarController.selectedIndex==1) 
    { 
     NSArray *mycontrollers = self.tabBarController.viewControllers; 
     [[mycontrollers objectAtIndex:1] popToRootViewControllerAnimated:NO]; 
     mycontrollers = nil; 
    } 

} 

希望这可以帮助你。

2

您在委托中收到的参数本身就是一个navigationController。 因此,更改语句如下图所示,

else if (tabBarController.selectedIndex==1) 
    { 
     [((UINavigationController *)viewController) popToRootViewControllerAnimated:YES]; 
     //[appdelegate.navigationController popToRootViewControllerAnimated:YES]; 

    } 
+0

+1也适用于工作答案 – hacker 2012-07-13 09:25:35

相关问题