2011-10-19 5 views
1

私は複数のタブを持つUITabBarControllerを持っています。ギャラリーであるviewControllerをプッシュすると、私はself.hidesBottomBarWhenPushed = YESを使ってタブバーを隠しますが、このギャラリーから別のビューコントローラーに移動し、タブバーコントローラーを表示する必要があります。tabbarcontrollerを非表示にする

これは、新しいビューコントローラを押す前にギャラリー内でself.hidesBottomBarWhenPushed = NOと設定することで実現します。問題は、私がギャラリーに戻ると、タブバーのコントローラーが見えるということです。どのようにギャラリーのために再び隠すことができますか?

+0

? – Stark

+0

これをベース/ルートコントローラで非表示にすることはできません。そこに仮想ビューコントローラを作成し、ベースビューコントローラのオブジェクトを作成し、hidebottombarwhenpushed = YESを設定します。およびプッシュビューコントローラを含む。 – samfisher

+0

@Starkギャラリーの初期設定で、新しいコントローラをプッシュする前に、 – Alex

答えて

0

あなたは、私はあなたが戻ってあなたのギャラリーに行くときにYESにMyTabBarController.view.hiddenプロパティを設定し、それを読み込むことができたとviewWillAppear

0

適切なビューのデリゲートメソッドでshowと非表示のコードを追加することができます。 -(void) viewWillAppear方法で

+0

これはビュー全体を非表示にします。[self navigationController] tabBarController] .view.hidden = YES; – Alex

3

、タブバーを非表示にするには、この行を追加します。あなたはタブバーコードを隠すためにコードを書いている

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

...またはおそらく 'viewWillAppear'でOPが2度目に表示されたときに隠れていないタブバーについて言及していたからです。 – Lukman

+0

これは隠しますが、実際には隠していないタブバーがあるはずのスペースが残っているという問題があります。私は 'それを一時的に取り除く'のようなものが必要です – Alex

+0

でしょうか?self.wantsFullScreenLayout = YES; viewControllerでそれを解決する? – Wolfert

関連する問題