单击自定义UITableView节标题是在节的第一行调用didSelectRow:

Car*_*rdo 8 objective-c uitableview ios

我有一个自定义viewForHeaderInSectionUITableView-让我们把它HeaderCell(一个简单的子类UITableViewCell有怪异的行为):

  • 当我点击节标题时:

    • 它触发了tableView:didSelectRowAtIndexPath:indexPath部分的第一UITableViewCell部分.就像我点击单元格一样,但没有.我点击了标题.

问题是,如果我替换定制HeaderCellviewForHeaderInSection用一个简单的UIView,不会再发生了!我检查了在该xib及其类上链接的任何操作,找不到任何addTarget:或任何xib操作.

其他奇怪的因素:它不会发生在第一个HeaderCell(第0部分)上,只发生在> = 1的部分.

注意:我有一个快速解决方案,但这对以后的支持有风险

HeaderCell课堂上,我只需要实现:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
    return;
}
Run Code Online (Sandbox Code Playgroud)

这是最后的解决方案.有人之前发现了这种行为吗?

Mik*_*ard 5

您不应该使用UITableViewCell页眉/页脚的子类.使用UITableViewHeaderFooterView(如果您可以使用> = iOS6)或UIView其他方式.