禁用UITableView浮动节标题点击?

时间:2013-04-05 17:44:10

标签: ios uitableview

我有一个简单风格的UITableView,带有自定义节标题视图(6.0之前,所以不是UITableViewHeaderFooterView)。有些可以被窃听,有些则不能。当它们浮动在其他单元格上方的表格视图的顶部时,点击通过标题部分到下面的表格视图单元格。由于应用程序中其他位置的此视图的重用要求,节标题视图是UITableViewCell的子类。有没有办法阻止触摸通过?

如果我将节标题视图的子类更改为UIView而不是UITableViewCell,则问题就会消失。然而,该解决方案由于其他原因是不可行的。 UITableViewCell中是否有一些我可以禁用的特殊行为?

3 个答案:

答案 0 :(得分:2)

查看- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event实例方法here

您可以在UIView子类中覆盖此方法,并返回要响应的视图。

使用这种方法:

- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
{
    id hitView = [super hitTest:point withEvent:event];

    if (hitView == self) {
        return nil;
    } else {
        return hitView;
    }
}

希望这有帮助。

答案 1 :(得分:2)

如果您有权访问部分标题视图,只需启用用户互动 false

答案 2 :(得分:0)

我有同样的情况。 我最终将UIButton放在我的自定义标题单元格中的其他内容之下,并使其成为整个单元格的大小并使其融入。

现在它捕获了水龙头并且什么都不做,阻止了通过它下面的细胞。希望这会有所帮助。