4

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

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

4

3 回答 3

2

看看这里- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event的实例方法。

您可以在 UIView 子类中重写此方法并返回您想要响应触摸的视图。

使用这种方法:

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

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

希望这可以帮助。

于 2013-04-05T17:50:41.547 回答
2

如果您有权访问节标题视图,只需启用用户交互 false

于 2015-12-09T14:34:48.540 回答
0

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

现在它抓住了水龙头,什么也不做,防止水龙头通过它下面的单元格。希望这可以帮助。

于 2015-07-26T01:36:23.833 回答