2015-02-06 103 views
0

我面臨與標籤欄的問題,當我點擊導航欄按鈕時,應該取消選擇標籤欄按鈕,我試過但未能做到這一點。任何人都可以幫助我解決問題。使tabbar按鈕作爲未選中時點擊導航欄上的按鈕

+0

不清楚你在問什麼,添加一些更多的細節。 – rishi 2015-02-06 08:34:19

+0

@rishi:在一個視圖中,導航欄和tabor都有。在tabbar中有一個按鈕被選中,現在我點擊導航欄按鈕,現在我想取消選擇tabbar按鈕 – 2015-02-06 09:00:52

+0

你可以添加一些屏幕快照,顯示你的確切問題。 – rishi 2015-02-06 09:10:58

回答

0

如果我明白你的需求,我想你想要做的是在你的標籤欄中根本不選擇任何項目。

這樣算下來:

[tabBar setSelectedItem:nil]; 

應該是你所需要的。

只有當您的tabBar不是由UItabBarController處理時。否則你會得到以下例外。

不允許直接修改由標籤欄控制器管理的標籤欄。 UITabBarController documentation - tabBar

你永遠不應該試圖操縱本身保存在這個屬性的UITabBar對象:

這種行爲如果你看過上的UITabBarController的使用TabBar屬性的文檔是不幸的邏輯。如果您嘗試這樣做,則選項卡欄視圖會引發異常。要爲標籤欄界面配置項目,您應該將一個或多個自定義視圖控制器分配給viewControllers屬性。標籤欄從您指定的視圖控制器收集所需的標籤欄項目。

並通過這個網頁讀取你會看到的UITabBarController讓你在你的TabBar選擇之外的其他項目(除moreNavigationController UITabBarController documentation - moreNavigationController


編輯絕非:如果你確實想保持你的tabBar顯示,你可以欺騙用戶,並讓他們相信通過將「未選擇的樣式」應用於選定的選項卡來取消選擇該選項卡。這個問題應該給你一切你需要做的:How to change inactive icon/text color on tab bar?

+0

但我使用的TabView控制器,所以我如何使用[tabbar selecteditems = nil]; – 2015-02-06 10:20:14

+0

從文檔中,你不能。你所能做的就是「隱藏」這個事實,即通過將你的物品的未選擇樣式應用到它的選定狀態來選擇它。 – lataupe 2015-02-06 10:35:01

+0

self.tabBarController.selectedIndex = 2;這是工作,但是,選擇3選項卡,但我不想選擇甚至一個,我試着用零,但第一個製表符被選中 – 2015-02-06 10:35:39