【发布时间】:2014-03-09 01:38:28
【问题描述】:
您好,我想将 UITableView 单元格的颜色更改为 5 个单元格,因此单元格 1 的颜色为绿色,单元格 2 的颜色为蓝色,依此类推。然后,一旦我击中 5 个单元格,我希望颜色重新开始。
这是我目前所拥有的:
if(indexPath.row % 5 == 0){
cell.backgroundColor = [UIColor blackColor];
} else if (indexPath.row % 4 == 0) {
cell.backgroundColor = [UIColor redColor];
} else if (indexPath.row % 3 == 0) {
cell.backgroundColor = [UIColor greenColor];
} else if (indexPath.row % 2 == 0) {
cell.backgroundColor = [UIColor blueColor];
} else if(indexPath.row % 1 == 0) {
cell.backgroundColor = [UIColor orangeColor];
如果有人能指出我正确的方向,我将不胜感激。谢谢!
【问题讨论】:
-
到目前为止你得到了什么结果?您的代码看起来类似于我为您的想法实施的代码。您是否尝试过将此代码放入
-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cel forRowAtIndexPath:(NSIndexPath *)indexPath?另外,只是一个想法,但我会将逻辑按相反的顺序排列,因为行“4”(棕色)将始终通过“2”分支(黑色)。或者,您可以执行int row = indexPath.row % 5;,然后根据该值执行您的if/else/then块。 -
我现在拥有的颜色每隔一个单元格重复一次。我会尝试并回复你。
-
我猜你的意思是所有其他单元格都是黑色的,对吧?根据您的逻辑的逻辑处理顺序,这完全有意义! ;-) 我希望:1)黑色,2)未定义(可能是白色作为默认背景),3)黑色,4)白色,5)黑色,6)蓝色等......
-
是的,这就是我的意思,我目前正在修复逻辑 ;-) 它看起来已经更好了。
-
好的,这就是我现在所拥有的,它仍然无法按顺序打印。我在问题中更新了它。
标签: ios objective-c uitableview colors