iPhone Devを初めて使用していて、特定の種類のアプリケーションをまとめておくための一般的なデザインパターン/ガイドについてアドバイスを受けたいと思っていました。UITableViewsを含むTabBarアプリケーションにNavigationControlを追加する
私はTabBarタイプのアプリケーションを構築しようとしています。タブの1つはTableViewを表示する必要があり、テーブルビュー内からセルを選択すると、別のテーブルビューまたはWebページが表示されます。私はテーブルビュー/ウェブページから私を戻すことができるようにナビゲーションバーが必要です。私がこれまでに撮影した
アプローチはにある:
@interface MyAppDelegate : NSObject <UIApplicationDelegate>
{
IBOutlet UIWindow *window;
IBOutlet UITabBarController *rootController;
}
すなわちrootcontroller
としてUITabBarControllerをベースにアプリケーションを作成のUIViewController派生クラスの負荷と関連したニブを作成します。私は基本的なタブが働くので、私はアプリを実行するときにIBのすべてを配線する。
私は、その後のUIViewController派生クラスを取ると、次のようにそれを変更します。
@interface MyViewController : UIViewController<UITableViewDataSource, UITableViewDelegate>
{
}
と私は戻ってIBに行くMyViewController
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return 2;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
if (indexPath.row == 0)
{
cell.textLabel.text = @"Mummy";
}
else
{
cell.textLabel.text = @"Daddy";
}
return cell;
}
の実装にデリゲートメソッドを追加し、オープンMyViewController .xibを開き、UITableViewをその上にドロップします。ファイル所有者をMyViewControllerに設定し、UITableViewのデリゲートとデータソースをMyViewControllerに設定します。
私が今アプリケーションを実行すると、ミイラとパパがうまく働いているテーブルビューが表示されます。ここまでは順調ですね。
質問は私が実装したときのために私の現在のコードにナビゲーションバーを組み込む行くのですかです:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath()
{
// get row selected
NSUInteger row = [indexPath row];
if (row == 0)
{
// Show another table
}
else if (row == 1)
{
// Show a web view
}
}
は私がMyControllerView.xibにNavigationBar UIコントロールをドロップしますか?プログラムで作成する必要がありますか?私はUINavigationControllerをどこかで使うべきですか?私はIBのMyControllerView.xibにNavigationBarをドロップしようとしましたが、アプリケーションを実行すると表示されず、TableViewだけが表示されます。
[回答方法](http://stackoverflow.com/questions/how-to-answer)をご覧ください。 –