【開発環境】Xcode4、iOS4.3
ナビゲーションコントローラで新しくビューコントローラを開いてみます。ここでは、前回のテーブルビューコントローラの項目を選択したときに、再度テーブルビューコントローラを開くようにしてみます。
1.テーブルビューコントローラの項目を選択したときの処理を書く。[CourseListViewController.m]を開きます。CourseListViewController(テーブルビューコントローラ)のインスタンスを作成して、UINavigationControllerの[pushViewController]メソッドに渡すことで、新しくビューコントローラを開くことができます。
・ナビゲーションコントローラは、ビューコントローラの[navigationController]プロパティから参照できます。
・[animated]はアニメーションさせながら切り替えるかの属性です。
#pragma mark - Table view delegate
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
// (サンプル) 同じビューコントローラを新規に作成して開く
CourseListViewController *viewCtrl = [[[CourseListViewController alloc] init] autorelease];
[self.navigationController pushViewController:viewCtrl animated:YES];
}
2.あとナビゲーションバーに表示されるビューコントローラのタイトルを”Root View Controller"から変更する。[viewDidLoad]の中で、[title]プロパティに新しいタイトル名を代入します。
#pragma mark - View lifecycle
- (void)viewDidLoad
{
[super viewDidLoad];
// ビューコントローラのタイトルを付ける
self.title = @"Course List";
// 配列に文字列一覧を格納する
item_ = [[NSArray alloc] initWithObjects:
@"DATA 1", @"DATA 2", @"DATA 3",
@"DATA 4", @"DATA 5", nil];
}
3.それでは、シミュレータを起動してみる。次のことを確認してみてください。
・タイトルが変わっていること
・項目を選択したときに、アニメーションして画面が変わること
・新しい画面のナビゲーションバーにあるボタンをクリックすると画面が戻ること
0 件のコメント:
コメントを投稿