我有自定义UITableViewCell
,UILabel
和UIImageView
。我想在突出显示单元格时更改背景颜色和文本颜色。在我的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
更改代码,但这不是我想要的效果 - 我想要当用户触摸单元格时要更改的文本颜色 - 而不是在触摸时。
有什么建议吗?
答案 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
设置。