我正在按照下一个示例代码在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];
但我不知道在该示例的源代码中放置了什么。
答案 0 :(得分:1)
您应该将代码放在UITableViewDelegate
方法
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
有关详细信息,请参阅文档here。
答案 1 :(得分:1)
您需要在要处理行抽头的类中实现UITableViewDelegate
协议。
然后你要设置tableView.delegate = self
(如果表视图在该类中,否则是实现协议的对象)。
最后,当您实施协议时,您应该添加将处理水龙头的方法tableView:didSelectRowAtIndexPath:
。你在那里放置代码来打开一个新的视图控制器。
答案 2 :(得分:1)
在界面中添加UITableViewDataSource
和UITableViewDelegate
。在tableView.dataSource = self;
创建的位置设置tableView.delegate = self;
和tableView
。如果您的ViewController
是NavigationController
,则可以在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];
}