禁用子视图是从UITableViewCell

时间:2017-03-01 21:33:41

标签: ios swift uitableview

我在UITableViewCell中有图像,我正在使用“isHighlighted”字段来设置图像是灰色还是彩色。每当我选择单元格时,所有子视图上的UITableViewCell集合都突然显示为true,有没有办法禁用此行为?

2 个答案:

答案 0 :(得分:0)

听起来像你正在超载是突出的做一些自定义逻辑,如如何在未选择时呈现单元格。

如果是这样,最好继承UITableViewCell并将自定义属性添加到子类而不是使用'isHighlighted'并使用表中的派生类。

答案 1 :(得分:0)

使用self.selectionStyle = UITableViewCellSelectionStyleNone;创建子类,然后覆盖setHighlighted:animated::。

- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated{
     [super setHighlighted:highlighted animated:animated];
     // Set your imageView background color here
}

请注意,UIImageView不会从UIControl继承,因此它没有highlighted属性。但是,UITableViewCell会尝试设置其子视图'突出显示背景颜色为透明。您可能无法通过imageView控制内置setHighlighted...的背景颜色行为,在这种情况下,您可能希望添加自己完全控制的UIImageView