当我点击我的UITableViewCell
,当我单击单元格时,背景部分(我的背景图像未覆盖的区域)会变成蓝色。另外,所有的UILabel
单击时单元格上的 s 变为白色,这就是我想要的。
然而,我不想要的是当我点击它时的蓝色背景,但如果我这样做selectionstylenone
,然后我失去了突出显示的颜色UILabel
s 在细胞中。
那么有什么方法可以在单击单元格时消除蓝色背景,但保留单元格的突出显示颜色UILabel
s?
您可以按如下方式执行此操作。将表格单元格的选择样式设置为UITableViewCellSelectionStyleNone
。这将删除蓝色背景突出显示。然后,为了使文本标签突出显示按照您想要的方式工作,而不是使用默认的 UITableViewCell 类,请创建一个子类UITableViewCell
并覆盖默认实现setHighlighted:animated
使用您自己的实现,根据突出显示的状态将标签颜色设置为您想要的颜色。
- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated
{
if (highlighted) {
self.textLabel.textColor = [UIColor whiteColor];
} else {
self.textLabel.textColor = [UIColor blackColor];
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)