2011-09-30 74 views
1

我有一個UITabBarController。一個選項卡是一個UINavigationController,它的rootViewController是UIViewController的一個子類。在我的viewViewController中,在我的viewDidLoad中,我推送了三個ViewControllers中的第一個。基於哪個UISegmentedControl被按下,我彈出舊的視圖,並且推動對應於UISegmentedControl的viewController。這大部分工作。UINavigationController,rootViewController與UITabBarController

問題是,如果我當前在導航層次結構中,如果再次點擊相同的選項卡(我已經在查看該選項卡),它將當前ViewController從堆棧中彈出並返回到rootViewController。我不知道爲什麼會發生這種情況。我只有一個地方,我popViewController和我在那裏設置一箇中斷點,它永遠不會被調用。所以我的假設是,當我在該選項卡上選擇UITabBarController的選項卡時,它將返回到rootViewController。那是對的嗎?有什麼我可以解決這個問題嗎?謝謝。

回答

0

您描述的功能是tabbarcontroller的標準。一些用戶習慣於使用它,如果您禁用它,可能會感到沮喪。

但是,可以使用tabBarController:shouldSelectViewController委託函數。在該功能中,您可以檢查視圖控制器想要的選擇是否與已經顯示的相匹配。如果是這樣,不要允許它。

相關問題