2010-10-26 30 views
1

我有一個已經以編程方式創建的UITabBarController。標籤欄內有6個標籤,強制顯示更多按鈕,這非常棒,效果非常好!如何使UITabBarController的「更多」按鈕返回到根視圖

測試應用程序時,其中一位測試人員提出了一個觀點。當他們選擇更多按鈕,然後選擇更多菜單中的一個選項時,結果視圖按預期呈現。如果他們然後從標籤欄中選擇另一個標籤,然後返回到更多選項卡,他們先前選擇的視圖仍然可見!

所以,我的問題是這樣的。如何在選擇「更多」按鈕時返回到表格菜單?我已經嘗試了顯而易見的,因爲它似乎是UINavigationController的一個子類我試着彈出到根等,但無濟於事... iPod應用程序正是我想要做的,所以我知道它的可能性,只是想知道是否有我錯過了什麼?

任何幫助表示讚賞

格雷厄姆白宮

回答

1

試試這個委託方法:

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController { 
    if ([tabBarController selectedIndex] > 3) { 
     [viewController.navigationController popToRootViewControllerAnimated:NO]; 
    } 
} 
+0

馬特您好,感謝您的答覆但是它沒有工作。我曾試圖popToRootViewController在代表之前打電話無濟於事!看起來更多的按鈕創建UINavigationController的子類版本,當您在委託方法內查看viewController的數據類型時,它將被定義爲UIMoreNavigationController。我猜測那裏有什麼東西可以讓我做我想做的事...... – 2010-10-27 09:27:31

+0

格雷厄姆,我在我的應用程序中試過這個,因爲我需要做類似的事情,它爲我工作。 'UIMoreNavigationController'是一個私人類,所以除非你想冒着API警察的風險,否則沒有更多的東西。 'UIMoreNavigationController'不會擴展'UINavigationController',所以你應該可以調用'popToRootViewControllerAnimated:'。它只是沒有彈出或崩潰?您建立的SDK版本是什麼? – 2010-10-27 20:43:56

相關問題