我有一个至少有9行的表格视图。细胞的背景颜色将取决于细胞位置。如果它低于3或低于6或低于9,则背景颜色会发生变化(参见下图)。
问题是这个表视图可以重新排序,我必须保持相同的颜色模式。示例:如果我将第4行更改为第3位,则其背景颜色必须从黄色变为红色。
为了获得不同的颜色,我使用了方法- (void)tableView:(UITableView*)tableView willDisplayCell:(UITableViewCell*)cell forRowAtIndexPath:(NSIndexPath*)indexPath
,但只有在显示单元格时才调用此方法,并且不适合重新排序问题(单元格已经显示且颜色已经显示)改变)。
我已经尝试创建一个方法来更改在移动行之后调用的背景颜色,但颜色没有改变(似乎使用cell.backgroundColor
属性更改背景颜色只适用于- (void)tableView:(UITableView*)tableView willDisplayCell:(UITableViewCell*)cell forRowAtIndexPath:(NSIndexPath*)indexPath
)。 :(
我有什么想法可以做到这一点?
提前致谢。
答案 0 :(得分:1)
调整数据源中的位置,然后告诉您的数据源根据当前位置重新计算每个项目的颜色。然后重新加载表视图。它应该“正常工作”。