2011-10-19 32 views
1

我有一個UITabBarController與多個選項卡。當我推一個viewController是一個畫廊,我隱藏標籤欄使用self.hidesBottomBarWhenPushed = YES但我需要從這個畫廊導航到另一個視圖控制器和標籤欄控制器應該顯示。隱藏tabbarcontroller

通過在推送新視圖控制器之前在庫中設置self.hidesBottomBarWhenPushed = NO,我可以實現這一點。問題是,當我回到畫廊時,標籤欄控制器是可見的。我怎樣才能隱藏它的畫廊?

+0

你在哪裏寫代碼隱藏的TabBar的代碼? – Stark

+0

您無法將其隱藏在基礎/根控制器上。創建一個虛擬視圖控制器,創建您的基本viewcontroller的對象,並設置hidebottombarwhenhenked = YES;並推送視圖控制器。 – samfisher

+0

@停留在畫廊的init中,在我推新控制器 – Alex

回答

0

可以在適當的意見委託方法添加顯示和隱藏代碼viewWillAppear中

0

我想,當你回到你的畫廊,並加載它,你可以設置MyTabBarController.view.hidden屬性設置爲YES。

+0

之前,這隱藏了整個視圖[[self navigationController] tabBarController] .view.hidden = YES; – Alex

3

-(void) viewWillAppear方法,加入這一行隱藏的TabBar:

[[[self navigationController] tabBarController] tabBar].hidden = YES; 
+3

......或者可能在'viewWillAppear'中,因爲OP在第二次顯示視圖時確實提到過標籤欄不隱藏。 – Lukman

+0

這隱藏了它,但問題是,仍然有一塊空間,我應該有標籤欄,它實際上並沒有隱藏它,它只能使它不可見。我需要像'暫時刪除它' – Alex

+0

會self.wantsFullScreenLayout = YES;在viewController中解決? – Wolfert