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

前端之家收集整理的这篇文章主要介绍了ios – 单击自定义UITableView节标题是在节的第一行调用didSelectRow:前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在UITableView上有一个自定义的viewForHeaderInSection – 让我们称它为HeaderCell(UITableViewCell的一个简单子类),它具有最奇怪的行为:

>当我点击节标题时:

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

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

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

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

在HeaderCell类中,我只需要实现:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
    return;
}

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

解决方法

您不应该使用UITableViewCell的子类作为页眉/页脚.使用UITableViewHeaderFooterView(如果你可以使用> = iOS6)或者只是UIView.

猜你在找的iOS相关文章