2012-01-19 10 views
1

IBで作成されたUITabBarControllerのアプリケーションがあります。そのtbcは現在まで正常に動作する3つのビューを読み込みます。UINabigationController UITabBarControllerを押すと1つのタブしか表示されません

開始VCとしてUINavControllerを挿入し、セルに4つのメニュー項目を表示することにしました。 4つのアイテムのそれぞれは、本質的には、これらの3つのタブにデータを表示するために処理する別のXMLファイルにUITabBarController put passをロードします。

私は基本的にapplicationDidFinishLoadingの終わりにこれをした:

MainMenu *rootViewController = [[MainMenu alloc] init]; 
navController = [[UINavigationController alloc] initWithRootViewController:rootViewController]; 
self.window.rootViewController = navController; 
[window makeKeyAndVisible]; 
return YES; 

私はその後、rootViewControllerサブクラスUITableViewControllerとしてメインメニューを作成し、私が欲しい4つの項目を表示します今のハードコードされた配列を追加しました。

tabBarController = [[UITabBarController alloc] init]; 
[self.navigationController pushViewController:tabBarController animated:YES]; 
[tabBarController release]; 

それは私がそれを実行すると、からNavControllerはタブコントローラをプッシュするだけで最初のタブが表示されることが判明:私はdidSelectRowAtIndexPath実行このコードを持っていました。ここに写真があります。

enter image description here

答えて

10

あなたはUINavigationControllerからUITabBarControllerをプッシュすることはありません。 Appleは明らかに次のように言っています:

タブバーコントローラを使用するアプリケーションでは、ナビゲーションコントローラを1つ以上のタブで使用することもできます。基本的にタブバーが他のすべてのビューコントローラの親になるべきであることを意味

controllers.`ナビゲーションのラッパーと同じユーザーインターフェイスのビューコントローラのこれらの2つのタイプ、タブバーコントローラを組み合わせ、常に行為それは呼び出される。それ以外の方法ではありません。あなたはおそらくあなたのアプリを提示する方法を変更する必要があります。

詳細情報here

+1

よくある質問... – Ziggy

+0

Appleの新しいアプリケーションをチェックすると、UITabBarControllerをUINavigationControllerにプッシュするようです。 – msk

+1

あなたはリンクを更新できますか?明らかにそれはもはや有効ではない。 –

関連する問題