我有一个带有6个Tab Bar项目的Tab Bar应用程序,每个项目都打开一个UITableView。我正在尝试启用每个表,以便在选择表格中的某个项目时打开详细信息视图控制器。
例如,对于第一个ViewController(ViewController1.m
),我创建了
DetailView1.xib
DetailViewController1.h
DetailViewController1.m
为了获取ViewController1.m的TableView中的每一行,我理解我必须这样做 使用这种方法:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
这是我的方法代码,它不会产生任何错误或警告,但是当选择TableViewCell时,没有任何事情发生:
DetailViewController1 *dvController = [[DetailViewController1 alloc] initWithNibName:@"DetailView1" bundle:[NSBundle mainBundle]];
[navController pushViewController:dvController animated:YES];
[dvController release];
这不应该加载DetailView1.xib吗?我使用Tab Bar应用程序模板创建了这个...我相信它默认没有NavigationController。是否有可能在Interface Builder中没有连接?
答案 0 :(得分:2)
您需要将每个选项卡配置为包含UINavigationController
的实例,其中一个视图控制器嵌套在其中。然后在tableView:didSelectRowAtIndexPath:
中,您需要将示例中的第二行代码更改为:
[[self navigationController] pushViewController:dvController animated:YES];