UITableView的单元格无法被选中。

8

当我在UITableView上选择一行时,处理程序没有被调用...

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

我通过编程方式创建自定义单元格。我的UITableView启用了用户交互,并将数据源和委托设置为文件所有者,以供表所在的视图控制器使用。我能够插入数据,但无法检测到触摸事件。甚至单元格都没有变蓝。

我错过了什么?

我尝试设置允许选择表:

   tableView.allowsSelection = YES;

编辑:

更多细节 - 我在didSelectRowAtIndexPath中使用了NSLog,但它从未被打印。单元格甚至不会变成蓝色或看起来被选中。

我将单元格从我的自定义单元格更改为常规的UITableViewCells,但仍然无法选择单元格。


此外,请确保没有手势识别器取消了您的 UITableView 触摸操作。 - Kyle Clegg
2个回答

4

尝试:

- (void)tableView:(UITableView *)tv didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    [tv deselectRowAtIndexPath:indexPath animated:YES];
}

3
我知道这个问题已经很久以前就被提出了,但是我想为那些仍然卡在这个问题上的人提供我的答案:
   tableView.allowsSelectionDuringEditing = YES;

或者当然也可以在Interface Builder中为您的UITableView设置适当的编辑标志。 - BP.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接