如何在部分表(无限滚动条)中打开另一个ViewController

时间:2015-04-28 08:32:32

标签: ios uitableview tableview viewcontroller infinite-scroll

我正在按照下一个示例代码在TableView中执行无限滚动。

https://github.com/Abizern/PartialTable/blob/master/PartialTable/TableViewController.m

我的问题是,在这个源代码中,当我点击某行时,我不知道如何打开另一个ViewController。

我认为我需要打开它:

Manage *man = [manages objectAtIndex:indexPath.row];
DetailManageViewController *vcc = [[DetailManageViewController alloc] initWithNibName:@"DetailManageViewController" bundle:nil];
vcc.manage = man;
[self.navigationController pushViewController:vcc animated:YES];

但我不知道在该示例的源代码中放置了什么。

3 个答案:

答案 0 :(得分:1)

您应该将代码放在UITableViewDelegate方法

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

有关详细信息,请参阅文档here

答案 1 :(得分:1)

您需要在要处理行抽头的类中实现UITableViewDelegate协议。

然后你要设置tableView.delegate = self(如果表视图在该类中,否则是实现协议的对象)。

最后,当您实施协议时,您应该添加将处理水龙头的方法tableView:didSelectRowAtIndexPath:。你在那里放置代码来打开一个新的视图控制器。

答案 2 :(得分:1)

在界面中添加UITableViewDataSourceUITableViewDelegate。在tableView.dataSource = self;创建的位置设置tableView.delegate = self;tableView。如果您的ViewControllerNavigationController,则可以在viewController中推送新tableView:didSelectRowAtIndexPath:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
      Manage *man = [manages objectAtIndex:indexPath.row];
      DetailManageViewController *vcc = [[DetailManageViewController alloc] initWithNibName:@"DetailManageViewController" bundle:nil];
      vcc.manage = man;
      [self.navigationController pushViewController:vcc animated:YES];
}