2010-08-25 108 views
2

我有一个至少有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

如果单元格正在以编程方式移动,通过更改CoreData模型和NSFetchedResultsController? – radven 2012-06-15 19:13:58

相关问题