2014-07-11 42 views
0

我正在尝试将特定渐变的颜色添加到表视图的每个单元格中。到目前为止,我所做的一切都是为每个单元设置渐变。我发现了另一篇贴近我的帖子,但是通过确定行数并根据行号是否匹配给出了某种颜色,仅交替设置了两种颜色。这里是link。 这是我用于每个单元格的梯度的代码;我如何将渐变的每种颜色归于单元格?如何将渐变的颜色添加到TableView的每个单元格(或行)?

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]; 

谢谢!

+0

你有解决方案http://stackoverflow.com/questions/30478975/how-to-set-multiple-gradient-colour-in-uitableviewcell-using-cagradientlayer-in –

回答

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:为最后一个单元格。

+0

你好,感谢您花时间回答我的问题,但这并不是我正在寻找的;使用上面的方法,我必须通过颜色自己一直到最后一个单元格:(Idk如果我表达自己在我的问题,但我正在寻找一个渐变应用于单元格作为一个身体'本身,每个单元格都有一个线性渐变的颜色 – user3817400

+0

所以,你不能尝试添加一个渐变背景,并使tableView透明吗? –

+0

我试过,但整个模拟器在滚动项目时滞后。这是因为我使用的是Xcode 6,或者只是在一般情况下使用 – user3817400

相关问题