我有一個基於tabbar的iphone應用程序,其中每個選項卡本身就是一個導航控制器。因此在每個選項卡視圖中都有子視圖,我將其推送到self.navigation控制器。每次選擇標籤時如何獲得相同的視圖?
問題是當我按下一個視圖,然後選擇花葯標籤,然後回滾我選擇相同的標籤,然後它會顯示推視圖。不是我想要的觀點來。
任何人都有想法如何做到這一點?任何人都可以幫助我實現rootview每次選擇標籤?
我有一個基於tabbar的iphone應用程序,其中每個選項卡本身就是一個導航控制器。因此在每個選項卡視圖中都有子視圖,我將其推送到self.navigation控制器。每次選擇標籤時如何獲得相同的視圖?
問題是當我按下一個視圖,然後選擇花葯標籤,然後回滾我選擇相同的標籤,然後它會顯示推視圖。不是我想要的觀點來。
任何人都有想法如何做到這一點?任何人都可以幫助我實現rootview每次選擇標籤?
對於UINavigationControllers來說,保存它們的視圖控制器堆棧是正常的,並且每次切換IUTabBarController選項卡時都會顯示最多的視圖控制器。那麼,你是說你想每個UINavigationController在每次標籤欄離開時都釋放棧?如果是的話,再看看UITabBarControllerDelegate文檔:
在這裏,你有方法,這將告訴您標籤切換時:
– tabBarController:shouldSelectViewController:
– tabBarController:didSelectViewController:
我假設你知道委託協議如何工作。
然後看看該文檔的UINavigationController,它有方法從堆棧中「彈出」視圖控制器:
這將彈出到頂部(「根」)視圖控制器:
– popToRootViewControllerAnimated:
注意的一點是 - 在一般用戶期望的UITabBarController標籤保留了同樣的觀點,當他們最後切換到它。
哦,還有,你在說什麼是當一個tabbar標籤被點擊兩次(即當它被點擊時,當該tabbar標籤已被選中)時的默認行爲。
+1爲澄清和答案的詳細信息。真棒:) – 2012-07-07 11:43:36
好警惕,但是當我加載tabbar我在一個view.on按鈕點擊它我添加第二view.so我的部分是正確的嗎?是嗎?也可以幫助我如何我可以在didselect方法中執行poptorootviewcontrooler代碼? – hacker 2012-07-08 11:22:54
我被添加到這樣的didselect方法[viewController.navigationController popToRootViewControllerAnimated:YES];但它不工作? – hacker 2012-07-08 11:35:05