2012-04-11 22 views
1

非常に簡単なナビゲーションベースのアプリケーション(UIViewController)を作成しました。ビューには、メインRootViewController上に単一のボタンがあります。ビューの切り替え - UIViewControllerからUITabBarControllerへ

次に、2つのクラス、TabOneViewController、TabTwoViewControllerを作成しました。すべての良い。その後、新しいClass TabBarViewControllerを作成しました。私はNIBファイルを開いて、 `` UITabBarControllerをその上に落としました。デフォルトで作成された2つのタブは、それぞれTabOneおよびTabTwoビューコントローラに割り当てられました。 強いテキスト 次に、私のTabBarViewControllerで、私はUITabBarController用のIBOutletを作成し、それを合成しました。それをInterfaceビルダーで "ファイル所有者"経由でリンクしました。 RootViewControllerで

は、私は私の「pushView」メソッドにボタンをリンクされており、このpushView方法では、私は次のコードを持っている:

- (IBAction) pushView { 
    TabBarViewController *controller = [[TabBarViewController alloc] init]; 
    [self.navigationController pushViewController:controller animated:YES]; 
    [controller release]; 
} 

最終的な結果は、それがビューをプッシュするDOESですが、私を私がコントローラに追加したページはもちろんのこと、下部のタブバーを見ることはできません。

私は間違っていますか? IBでリンクできないのはなぜですか?

答えて

0

あなたがすでにrootViewControllerとして1つのtabBarControllerを持っていて、最初のタブコントローラーとしてもう1つtabBarControllerを落と​​してしまったため、あなたのiPhone上にある不動産の量を考慮して、それは別の

0

第1内側tabViewControllerを許可しないように理にかなって、あなたのペン先であなたのビューコントローラを割り当てる必要があります。

TabBarViewController *controller = [[TabBarViewController alloc] initWithNibName:@"YourNibName" bundle:nil]; 

第二に、IBで、UITabBarControllerをクリックして、アイデンティティインスペクタに移動して作りますあなたのカスタムクラスを選択してください。それはあなたがオーバーライドまたはいくつかの機能を追加されていない限り、あなたはおそらく、すべてでカスタムクラスを必要としない単純に直接UITabBarControllerを使用し、言った:

UITabBarController *controller = [[UITabBarController alloc] initWithNibName:@"YourNibName" bundle:nil]; 
関連する問題