ええと、あなたの実装の詳細を知らなくてもちょっと難しいですね。リンクされた記事のようにナビゲーションコントローラを実装したと仮定しました。
@interface SOViewController : UIViewController
< UITableViewDelegate,UITableViewDataSource > {
UINavigationController* navController;
}
- (IBAction) pushMe:(id)sender;
@end
:あなたは何の詳細を与えないが、どこかのラインに沿ってテーブルビューコントローラを追加しましたので、私はのUIViewController 1つの場所ですべてを処理するためのUITableViewプロトコルに準拠して作られたようにまたそれが聞こえます
IBのSOViewControllerのビューにボタンをドロップし、pushMe:アクションをそのビューに配線しました。また、別のUIViewControllerベースのクラスJunkController
を作成し、IBのビューに「Junk」ラベルをドロップしました。 pushMeで
navController = [[[UINavigationController alloc] init] retain];
navController.navigationBar.barStyle = UIBarStyleBlackOpaque;
navController.toolbarHidden = YES;
UITableViewController* tvController = [[UITableViewController alloc] init];
UITableView* tv = [[UITableView alloc] init];
tvController.tableView = tv;
tv.delegate = self;
tv.dataSource = self;
[navController setViewControllers:[NSArray arrayWithObject:tvController]];
:アクションの実装:SOViewControllerさんのviewDidLoadで[self presentModalViewController:navController animated:YES];
のtableViewデリゲートとデータソースメソッドの実装されました。選択のために:
- (void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSLog(@"row selected");
JunkController* junk = [[JunkController alloc] initWithNibName:@"junkcontroller" bundle:nil];
[navController pushViewController:junk animated:YES];
[junk release];
}
これは、「プッシュミー」ボタンが付いた画面を表示するアプリケーションを生成するはずです。そのボタンを押すと、モーダルナビゲーションベースのテーブルビューが表示されます。その中には、「select me」というラベルが含まれています。この行をタッチすると、ジャンクコントローラがアニメーション化されてビューに表示されます。
self.navigationControllerがnilかどうかを確認しましたか? – Jonah
私はちょうどそれを行いました*それは*ではないです。ありがとう。 – Gregg
setupViewControllerプロパティがある理由はありますか? –