2

我有一個tabbar應用程序。回到導航控制器的TabBar應用程序的第一個視圖

標籤欄中只有2個選項卡。第一個選項卡是NavigationController,在NavigationController有兩個視圖 - 根和詳細視圖,第二個是TableViewController。第二個作品完美,但第一個沒有。

我從第一個視圖開始(NavigationController)。然後進入這個NavigationView到詳細視圖。然後,例如,我轉到第二個標籤欄視圖。然後回到第一個,但我沒有看到根視圖,但詳細視圖。

我怎樣才能每次打開根視圖?

回答

8

使用UITabBarController delegate方法tabBarController:didSelectViewController:這樣的:

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController { 
    if (viewController != tabBarItemForNavControllerTab) { 
    [self.navControllerInFirstTab popToRootViewControllerAnimated:NO]; 
    } 
} 

另外,還要確保代表是正確安裝,創建UITabBarController,你從我的片斷修改代碼以適應您的控制器名稱時。

+0

我應該在哪個類中放置此代碼? – 2012-02-26 17:58:09

+0

@EugeneTrapeznikov在UITabBarControllers父控制器中。如果您不確定如何委派工作,請閱讀本文[**文章**](http://thinkvitamin.com/code/ios/ios-design-patterns-delegation-part-2/)。 – dom 2012-02-26 18:15:23

+0

我可以通過編程設置委託嗎?是self.tabBarController.delegate = self;好嗎? – 2012-02-26 18:23:51

相關問題