如何为TableView的每个单元格(或行)添加渐变颜色?

时间:2014-07-11 14:48:15

标签: ios objective-c

我试图为表格视图的每个单元格添加特定渐变的颜色。到目前为止,我设法做的就是为每个细胞设置梯度。我找到了另一个靠近我的帖子,但是通过确定行数并根据行号是否成对来归因某一特定颜色,只为交替行设置两种颜色。这是link。 这是我用于每个单元格的渐变的代码;我如何将渐变的每种颜色归因于单元格呢?

    CAGradientLayer *grad = [CAGradientLayer layer];
    grad.frame = cell.bounds;

    grad.colors = [NSArray arrayWithObjects:(id)[[UIColor colorWithRed:252/255.f green:135/255.f blue:208/255.f alpha:1] CGColor], (id)[[UIColor colorWithRed:253/255.f green:91/255.f  blue:105/255.f alpha:1] CGColor], nil];

    [cell setBackgroundView:[[UIView alloc] init]];
    [cell.backgroundView.layer insertSublayer:grad atIndex:0];

谢谢!

1 个答案:

答案 0 :(得分:0)

cellForRowAtIndexPath中,您可以根据需要添加一个switch语句,以满足您拥有的单元格数量。这是代码:

switch (indexPath.row) {
    case 0:
        cell.backgroundColor = [[UIColor colorWithRed:252/255.f green:135/255.f blue:208/255.f alpha:1] CGColor]
        break;
    case 1:
        cell.backgroundColor = [[UIColor colorWithRed:253/255.f green:91/255.f  blue:105/255.f alpha:1] CGColor]
        break;
    default:
        cell.backgroundColor = //aother GCColor of your choice
        break;
}

等等。对于第一个单元格,您将使用大小写0,用于第二个单元格用例1,依此类推。您可以根据需要添加尽可能多的案例以匹配您拥有的单元格数。并确保使用default:作为最后一个单元格。