更改自定义UITableViewCell上的backgroundcolor将不会显示

时间:2011-06-01 04:37:59

标签: uitableview background-color

点击时我正在尝试更改自定义单元格的背景颜色。这是我的代码:

- (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];被执行,但细胞保持黄色!这只发生在一些细胞(黄色和重复使用的细胞)上。

有什么建议吗?

3 个答案:

答案 0 :(得分:3)

我得到了它的工作。不得不用    aCell.contentView.backgroundColor 代替    aCell.backgroundColor

这对我有用。

答案 1 :(得分:0)

您可以保留更改的唯一方法是将其保存在某处,并在tableView:cellForRowAtIndexPath:方法中设置单元格时使用它。因此,维护一组具有黄色背景的单元格,同时设置单元格,检查它是否在集合中。如果是,请为其指定黄色背景,如果不是,请将其设置为清除颜色。

答案 2 :(得分:0)

更改自定义单元格类中的单元格背景颜色,其中我们有一个方法setbackground:。