当UITableViewCell突出显示时更改UILabel textColor?

时间:2015-05-26 07:27:52

标签: ios objective-c uitableview tableviewcell

我有自定义UITableViewCellUILabelUIImageView。我想在突出显示单元格时更改背景颜色和文本颜色。在我的CustomCell' setHighlighted方法中,我有以下代码:

-(void)setHighlighted:(BOOL)highlighted {
    [super setHighlighted:highlighted];
    if(self) {
        if(highlighted) {
            self.title.textColor = [UIColor whiteColor];
        } else {
            self.title.textColor = [UIColor blackColor];
        }
        //highlight background
        UIView *bgColorView = [[UIView alloc] initWithFrame:self.frame];
        bgColorView.backgroundColor = [UIColor blackColor];
        [self setSelectedBackgroundView:bgColorView];
    }
}

我已经尝试在textColor tableView中添加didSelectRowAtIndexPath更改代码,但这不是我想要的效果 - 我想要当用户触摸单元格时要更改的文本颜色 - 而不是在触摸时。 有什么建议吗?

5 个答案:

答案 0 :(得分:11)

您应该使用属性highlightedTextColor。设置tableView:cellForRowAtIndexPath内单元格的颜色,它应如下所示:

cell.textLabel.highlightedTextColor = [UIColor blueColor];

答案 1 :(得分:1)

试试这个

[cell.textLabel setHighlightedTextColor:[UIColor yellowColor]]

答案 2 :(得分:0)

如果您有自定义标签,请使用以下代码

lblPrd.highlightedTextColor = [UIColor whiteColor];

答案 3 :(得分:0)

覆盖方法

(void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated {
    [super setHighlighted:highlighted animated:animated];
    //TODO set view highlighted color 
}
自定义tableviewcell中的

答案 4 :(得分:0)

如果您有故事板或XIB,只需在Attributes Inspector > Label > Highlighted设置。