从 UITableViewCell 访问新的 UIViewController

Posted

技术标签:

【中文标题】从 UITableViewCell 访问新的 UIViewController【英文标题】:Access a new UIViewController from a UITableViewCell 【发布时间】:2011-02-08 16:54:37 【问题描述】:

我有一个标签栏应用程序,其中包含 6 个标签栏项目,每个项目都打开一个 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 吗?我使用选项卡栏应用程序模板创建了它......我相信默认情况下它没有 NavigationController。是否有可能在 Interface Builder 中没有正确连接某些东西?

【问题讨论】:

【参考方案1】:

您需要将每个选项卡配置为包含UINavigationController 的实例,其中一个视图控制器嵌套在其中。然后在tableView:didSelectRowAtIndexPath: 中,您希望将示例中的第二行代码更改为:

[[self navigationController] pushViewController:dvController animated:YES];

【讨论】:

以上是关于从 UITableViewCell 访问新的 UIViewController的主要内容,如果未能解决你的问题,请参考以下文章

如何以编程方式将 JSON 数组从 UITableViewCell 传递到新的 UIViewController?

如何从 UiTableViewController 访问自定义 UITableViewCell 的属性?

在自定义 uitableviewcell 中设置图像会导致延迟

如何从 Xcode UI 测试访问核心数据存储?

iOS开发UI篇—UITableviewcell的性能问题

从外部源设置 UITableViewCell 内的内容?