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