当我们重新加载tableview时,单元格背景颜色没有改变

时间:2011-12-22 05:36:53

标签: iphone objective-c xcode uitableview background-color

我有一个tableview,当我选择一个单元格时,我正在更改该单元格的背景组颜色以识别所选行。

我的问题是:当我选择下一行时,我正在重新加载表格视图,此时我无法更改该单元格的背景颜色。

我在cellForRowAtIndexPath:方法中编写了以下代码:

if (m_selectedCell == indexPath.row) {
    [cell setBackgroundColor:[UIColor redColor]];
}

有人可以帮忙吗?

6 个答案:

答案 0 :(得分:2)

必须在-tableView:willDisplayCell:forRowAtIndexPath:委托方法中执行更改单元格的背景颜色。在创建单元格之后,但在屏幕上绘制之前发送此消息。

答案 1 :(得分:1)

您在cellForRowAtIndex方法中编写此代码:

[cell setSelectionStyle:UITableViewCellSelectionStyleBlue];

答案 2 :(得分:1)

在返回单元格之前编写代码。并检查m_selectedCell分配或nil?

如果值匹配,则在单元格中添加带背景颜色的UIImageView。

答案 3 :(得分:1)

也许你可以试试这个

cell.textLabel.backgroundColor = [UIColor clearColor];

答案 4 :(得分:0)

您在DidSelectRowIndexPath本身中尝试此代码。

if (m_selectedCell == indexPath.row) {
[cell setBackgroundColor:[UIColor redColor]];
}

答案 5 :(得分:0)

您必须在此循环中编写名为if(cell==nil)

的上述代码