我有一个常规的UIViewController
,我在UITableView
中添加了viewDidLoad
,如下所示:
dataTableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 250, 320, 318)];
dataTableView.dataSource = self;
[self.view addSubview:dataTableView];
工作正常,单元格内容在那里,我通过调用添加到-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
。我可以滚动一切,但是我无法让细胞对触摸/点击作出反应。当我按下一个单元格时,它会保持选中状态,但我似乎无法对其进行操作。我正在使用的代码是
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSLog(@"select");
}
但它永远不会发射。我是否必须在tableview和电话之间建立某种联系?如果是这样,为什么cellForRowAtIndexPath
没有问题呢?任何帮助表示赞赏。我相信对于那些知道他们的“Objective-C”
答案 0 :(得分:1)
您没有将自己设置为dataTableView
的代表。
dataTableView.delegate = self;
cellForRowAtIndexPath
有效的原因是因为dataSource
的一部分而didSelectRowAtIndexPath
是delegate
的一部分。