如何在TableView编辑时取消选定的单元格突出显示的背景颜色

时间:2012-04-06 02:29:25

标签: iphone ios uitableview

我设置了单元格[cell.contentView addSubview:chatView]。聊天视图有UIImageView,两个UILabels和UILabel backgroundColor = [UIColor clearColor]

当表格编辑时,我选择单元格,单元格突出显示,UILabel backgroundColor更改突出显示的颜色。如何取消backgroupColor。

4 个答案:

答案 0 :(得分:1)

theLabel.layer.backgroundColor = myColor

这很好用。

答案 1 :(得分:0)

如果您只想突出显示单元格选择,可以这样做:

cell.selectionStyle = UITableViewCellSelectionStyleNone;

我不确定您要取消标签BgColor还是单元格

答案 2 :(得分:0)

如果您不希望所选单元格更改其背景颜色,请将单元格的selectionStyle属性设置为UITableViewCellSelectionStyleNone I.e。:

cell.selectionStyle = UITableViewCellSelectionStyleNone;

标签背景颜色设置为单元格突出显示颜色的原因是您已将标签的背景颜色属性设置为清除颜色。

如果这可以解决您的问题,请告诉我。

答案 3 :(得分:0)

- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
    [super setSelected:selected animated:animated];
    if (self.editing) {

        for (UIView *view in self.contentView.subviews) {
            for (UIView *subview in view.subviews) {
                if ([subview isMemberOfClass:[UILabel class]]) {
                    subview.backgroundColor = [UIColor clearColor];
                }
            }

        }
    }
}

我将UITableViewCell子类化,并覆盖方法- (void)setSelected:(BOOL)selected animated:(BOOL)animated