我有一个简单风格的UITableView,带有自定义节标题视图(6.0之前,所以不是UITableViewHeaderFooterView)。有些可以被窃听,有些则不能。当它们浮动在其他单元格上方的表格视图的顶部时,点击通过标题部分到下面的表格视图单元格。由于应用程序中其他位置的此视图的重用要求,节标题视图是UITableViewCell的子类。有没有办法阻止触摸通过?
如果我将节标题视图的子类更改为UIView而不是UITableViewCell,则问题就会消失。然而,该解决方案由于其他原因是不可行的。 UITableViewCell中是否有一些我可以禁用的特殊行为?
答案 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放在我的自定义标题单元格中的其他内容之下,并使其成为整个单元格的大小并使其融入。
现在它捕获了水龙头并且什么都不做,阻止了通过它下面的细胞。希望这会有所帮助。