2012-07-13 46 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

相關問題