如何为tableview单元格设置不同的颜色

时间:2014-06-24 04:49:14

标签: ios objective-c uitableview ios7.1

如何在tableview中为多行设置不同的颜色,最多可以有10种不同的颜色。我想到了替代行颜色的部分。

//alternate row colour
if (indexPath.row % 2) {
    cell.contentView.backgroundColor = [[UIColor alloc]initWithRed:87.0/255.0 green:84.0/255.0 blue:229.0/255.0 alpha:1];
} else {
    cell.contentView.backgroundColor = [[UIColor alloc]initWithRed:187.0/255.0 green:184.0/255.0 blue:229.0/255.0 alpha:1];
}

2 个答案:

答案 0 :(得分:1)

生成随机数CellForRowAtIndex。因此每次生成不同的数字。它生成0到15的数字,因此您可以设置十五个不同的单元格背景。

NSInteger randomNumber = arc4random() % 16;

在CellForRewAtIndex中设置RGB值。

 cell.contentView.backgroundColor = [[UIColor alloc]initWithRed:randomNumber * 2.0/255.0 green:randomNumber * 3.0/255.0 blue:randomNumber * 4.0/255.0 alpha:1];

答案 1 :(得分:0)

int frequency = indexPath.row %10;
    switch (frequency) {
        case 0:
            //color 1
            break;
        case 1:
            //color 2
            break;
        case 2:
            //color 3
            break;
        case 3:
            //color 4
            break;
            //up to case 9
        default:
            break;
    }

或者,您可以在某处设置颜色对象数组,然后调用颜色[频率]。相同数量的代码行,但不是很混乱