如何在移动后更改表格视图单元格的背景颜色?

时间:2010-08-25 05:52:33

标签: iphone uitableview

我有一个至少有9行的表格视图。细胞的背景颜色将取决于细胞位置。如果它低于3或低于6或低于9,则背景颜色会发生变化(参见下图)。

alt text

问题是这个表视图可以重新排序,我必须保持相同的颜色模式。示例:如果我将第4行更改为第3位,则其背景颜色必须从黄色变为红色。

为了获得不同的颜色,我使用了方法- (void)tableView:(UITableView*)tableView willDisplayCell:(UITableViewCell*)cell forRowAtIndexPath:(NSIndexPath*)indexPath,但只有在显示单元格时才调用此方法,并且不适合重新排序问题(单元格已经显示且颜色已经显示)改变)。

我已经尝试创建一个方法来更改在移动行之后调用的背景颜色,但颜色没有改变(似乎使用cell.backgroundColor属性更改背景颜色只适用于- (void)tableView:(UITableView*)tableView willDisplayCell:(UITableViewCell*)cell forRowAtIndexPath:(NSIndexPath*)indexPath)。 :(

我有什么想法可以做到这一点?

提前致谢。

1 个答案:

答案 0 :(得分:1)

调整数据源中的位置,然后告诉您的数据源根据当前位置重新计算每个项目的颜色。然后重新加载表视图。它应该“正常工作”。