2010-03-21 71 views
0

如果在我的某個視圖中有導航欄和選項卡欄。 這一切工作正常。 其中一個選項卡欄項目需要在導航堆棧上推送其他幾個視圖控制器,然後才能獲取我需要的位置。 這也在起作用。 當我點擊標籤欄項目時,它會直接返回堆棧。 如何在標籤欄項目中製作所需的控制器棒?TabBar停止彈出

+0

就像旁邊,你不要點擊iPhone上的東西,你點擊它們。 – 2010-03-21 23:11:24

回答

1

這是標籤欄的標準行爲,如果您將它設置爲每個標籤指向主筆尖文件中的不同視圖控制器。它實際上非常有用,允許用戶在特定的堆棧中深度導航,然後按下已選擇的選項卡按鈕返回到主頁/頂層。

請注意,只有當您單擊已選擇的選項卡時纔會發生此行爲。您可以在標籤欄委託中實現一行,以截取標籤上的點擊,並在該標籤已被選中時將其忽略。

爲此,您需要手動處理不同視圖控制器的顯示。你想實現這個方法:

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item 

然後將不同的視圖自己推到導航堆棧上。

+0

感謝您的幫助。 您不能在NavigationController中更改該選項卡的appdelegate。我可以通過重寫 - (BOOL)tabBarController來完成同樣的事情:(UITabBarController *)tbController shouldSelectViewController:(UIViewController *)vwController – 2010-03-22 16:17:15