点击时我正在尝试更改自定义单元格的背景颜色。这是我的代码:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView cellForRowAtIndexPath: indexPath];
if (...condition...) {
cell.backgroundColor = [UIColor clearColor];
} else {
cell.backgroundColor = [UIColor yellowColor];
}
}
现在,我做了调试,而cell.backgroundColor = [UIColor clearColor];被执行,但细胞保持黄色!这只发生在一些细胞(黄色和重复使用的细胞)上。
有什么建议吗?
答案 0 :(得分:3)
我得到了它的工作。不得不用 aCell.contentView.backgroundColor 代替 aCell.backgroundColor
这对我有用。
答案 1 :(得分:0)
您可以保留更改的唯一方法是将其保存在某处,并在tableView:cellForRowAtIndexPath:
方法中设置单元格时使用它。因此,维护一组具有黄色背景的单元格,同时设置单元格,检查它是否在集合中。如果是,请为其指定黄色背景,如果不是,请将其设置为清除颜色。
答案 2 :(得分:0)
更改自定义单元格类中的单元格背景颜色,其中我们有一个方法setbackground:。