2011-02-12 20 views
11

私はテーブルビューの学習から始めます。私のアプリケーションはTab Bar Controllerを使用し、すべてのタブは単純なビューです。私は別のタブを追加したい、このタブで私はテーブルスタイルのナビゲーションコントローラを実装しようとしている。私が読んでいるところでは、これらのビューにはルートビューコントローラとしてのUINavigation Controllerが必要ですが、私のタブバーコントローラはすでにルートビューコントローラに設定されているので、ちょっと混乱しています。タブバーコントローラでのテーブルビューの実装?

誰かがこのようなものを実装するために何をすべきか説明できますか?

答えて

17

これは良い質問です。これは、Cocoaの新しい開発者の多くは常に苦労しています。ほとんどの場合、TabBarControllerを他のビューを提供するメイン/ルートコントローラにしてから、そこからtabItemビューを設定する必要がありますどのデータを表示する必要があるかに基づいています。

新しいタブアイテムを作成するときに、そのtabItemビューにUIViewControllerを提供するのではなく、ナビゲーションコントローラを使用する必要があります。次に、ナビゲーションコントローラの下で、UITableViewController(またはビュー内にUITableView以上が必要な場合はUITableViewインスタンスを持つUIViewController)のインスタンスになるルートビューコントローラを割り当てることができます。

だから、階層は少しこの

1のようになります - TabBarController

1.1 ----- NavigationController

1.1.1 -------のUITableViewController

1.1.1 -------あなたのナビコントローラスタックのその他の表示

1.2 -----あなたの他のビューtabBarController

そして、ここではそれをお届けします良いビデオチュートリアルです:http://www.youtube.com/watch?v=LBnPfAtswgw

幸運は、 Rogメール

+0

すばらしいリンク仲間!!!それはまさに私が必要としていたものです。私はちょうど見終わったので、私は行きたいものの骨格を持っています。私はちょうど詳細を世話する必要があります。どうもありがとうございます! – cgossain

1

すべてのテーブルビューの第一は、ナビゲーションコントローラに埋め込むことが必ずしも必要はありません。ほとんどの時間はそうですが、これは必須条件ではありません。

あなたは(これはあなたのニーズによって異なり、それに埋め込まれUITableViewまたはジェネリックUIViewControllerUITableViewControllerを作成し、UITabBarControllerviewControllersプロパティにそれを置くテーブルビューを追加します。例:

UIViewController *vc1 = [[FirstViewController alloc] init]; 
UIViewController *vc2 = [[SecondsViewController alloc] init]; 
UITableViewController *tableVC = [[UITableViewController alloc] init]; 
tabBarController.viewControllers = [NSArray arrayWithObjects:vc1, vc2, tableVC, nil]; 

上記のビューコントローラは、カスタムビューとロジックを実装できるように具体的なサブクラスである必要があります。

関連する問題