2014-06-23 70 views
-2

如何制作双嵌套UITableView双嵌套UITableView

我想学习制作一个iPhone应用程序,该应用程序具有一个表格视图,当您单击某个元素时,会将您带到另一个具有可在详细视图中看到的项目的tableview。

我明白如何创建具有项目的第二层,但我很困惑如何通过单击元素将用户从一个tableview发送到另一个。

谢谢

+0

对于UITableViewDelegate有一个委托方法'didSelectRowAtIndexPath'。实现并编写代码来推送/呈现新的视图控制器。 –

+0

您最好考虑管理不同的数据源,而不是不同的UITableView,单个UITableView可以切换为使用不同的数据源显示不同的列表。 – iphonic

+0

请点击此链接http://code4app.net/ios/RATreeView/524e2f896803fa6e31000001 – Rohit

回答

1

您可以使用以下方法: -

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 

因此,在上述方法中,你可以以编程方式做出如下另一个tableViewController拨打电话: -

TableViewController *tableView = [[TableViewController alloc] init]; 

[self presentViewController:tableView animated:YES completion:nil]; 

所以,你的下一个表视图会如果您有导航栏,则会按照您的要求提供,并且还会提供返回,否则您将不得不以编程方式提供返回。

+0

“SubTableViewController”如何知道MasterViewController中的哪个元素调用了它?谢谢 – Marcus

+0

确实有多少tableviewcontroller你有...好吧,所以在masterTable中,你点击一个den den subTable打开的,你做你的东西。然后你提供一个后退按钮,以便从subTable到masterTable。然后再次相同的情况。因此,除非你从子表移动到另一个子表,否则只需要两个tableview控制器 – nikhil84

0

UITableView委托方法将用于此目的。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 

此方法将捕获您的点击事件,然后您可以移动到其他视图控制器/表视图。