2009-07-23 17 views
1

私は4つのタブを持つTabBarControllerを持つアプリケーションを持っています。最初のタブである正面ビューのボタンをクリックすると、ナビゲーションビューにビューがアップロードされます。今、UIImagePicker Controllerを使って写真を撮り、この2番目のビューに保存します。私がそうすると、モーダルコントローラーがロードされますが、そのコントローラーの下のバーには、選択とキャンセルがタブバーでカバーされます。TabBarを非表示にする項目

IはYES = viewController.hidesBottomBarWhenPushed

を使用してみました。

しかし、tabBarを隠すことはありません。

tabBarを非表示にする方法や、modalControllerビューを読み込んでtabBar上の画像を選択する方法はありますか。

答えて

0

ビューをナビゲーションスタックにプッシュしているので(私は[self pushViewController:etc]を使用して推測します)、ナビゲーションコントローラ内ですべて起こっているので、常にタブバーが上に表示されます。

ナビゲーションコントローラーを保持しているウィンドウの上に追加するだけです。アプリケーションデリゲートが所有する単一のナビゲーションコントローラがあると仮定すると、コードは次のようになります。

MyAppDelegate *appDelegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate]; 
[appDelegate.window addSubview:myOtherViewController.view]; 

希望します。

0

@ h4xxr:あなたはここで正しいアイデアを持っていると思いますが、modalViewControllerではpushViewControllerではなくpresentModalViewControllerです。

@rkbang、私はウィンドウレベルで、そしてタブバーレベルでもそれが機能するかどうかを調べることを試みます。

もう1つの方法は、非表示のカスタムUITabBarControllerでパブリックメソッドを作成し、次にモーダルビューを提示した後でそれを呼び出すことです。

+0

メソッドを記述すると、そのコードになるものが隠されます。どのようにtabBarItemを隠すことができるか – rkb

+0

あなたがすでに持っているコード...私はそれがうまくいっていると思っています。そのため、質問は適切な場所(ビュー階層内の適切なカスタムクラス)に置くだけです。あなたが問題を解決したように見えます。 – TahoeWolverine

+0

かなり正しいタホ、presentModalViewController。彼が間違った場所でやっていたという事実に焦点を当てていた!... – h4xxr

関連する問題