2012-05-08 21 views
0

タブバーコントローラーを使用してアプリケーション内にモーダルビューコントローラーを表示しようとしています。問題は、新しいビューが表示されるたびに、タブバーの上に表示されることです。TabBarControllerを閉じずにモーダルビューコントローラーを表示する方法

ビューが表示されてもタブバーを維持する必要があります。 Googleマップのように、アプリケーションは画面の下部にあるツールバーで行います。

どうすればいいですか?

あなたは

+0

新しいmodalVieControllerをプッシュするときにbottomBar.hidden = YESを指定した場合のみ、タブバーが非表示になります。あなたはappdelegateのコードを、新しいモーダルビューコントローラを投稿するタブバーとコードを設定する場所に投稿できますか? –

+0

これは当てはまりません。モーダルビューコントローラはナビゲーションスタックにプッシュされず、hidesBottomBarWhenPushedはそのシナリオにのみ適用されます。 – jmstone617

+0

モーダルビューを使用せずにこのエフェクトを追加できますか? –

答えて

-1

私はあなたがあなたのメインバーがあり、ボタンと機能性をモーダルビューにUITabBarを追加し、実装/複製する必要があると思いますありがとうございました。モーダルウィンドウの本質は、それが解消されるまで完全に制御できることです。

あなたはUITabBarControllerをNavBarControllerに入れてみるかもしれませんが、これはうまくいくとは限りません。

UITabBarController - > NavBarController - >モーダルビュー

1

デフォルトでは、モーダルビューコントローラは、(少なくとも、iPhone/iPodの)画面全体を取ることを意味しています。このため、それはあなたがその時に画面上にあったものをカバーします。

0

モーダルセグを介して提示されたビューコントローラは、それ自身で生きることを意図しています。ナビゲーションとTabBarを保持したい場合は、プッシュセグを使用して新しいViewControllerを表示します。この種のセグを使用することを忘れないでください。あなたのプレゼンテーションコントローラは、すでにUINavigationControllerの一部である必要があります。

ViewControllerを押すときに使用します。 UINavigationControllerの場合、リンクされたRootViewControllerを単独でプッシュします。

プッシュするのViewControllerを作成します(コード/ニブを使用)

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil]; 
UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"LoginViewController"]; 

または(ストーリーボードを使用して)

LoginViewController *viewController = [[LoginViewController alloc] init]; //initWithNibNamed in case you are using nibs. 
//in case you want to start a new Navigation: UINavigationController = [[UINavigationController alloc] initWithRootViewController:viewController]; 

をしてと押し:また

[self.navigationController pushViewController:vc animated:true]; 

を、あなたの場合あなたがこれを使ってすべてのことをすることができるセグのためにストーリーボードを使用しています。 segue識別子を設定することを忘れないでください。

+0

ああ、私は答える前に日付を見る必要があります。 – drUniversalis

関連する問題