在分组模式中为表格视图单元格添加渐变背景

问题描述:

- 您好,我如何将CAGradientLayer添加到tableview单元格中。表格视图处于分组模式,这意味着它也可以具有圆角。我想:在分组模式中为表格视图单元格添加渐变背景

CAGradientLayer *gradientLayer = [[CAGradientLayer alloc] init]; 
    gradientLayer.frame = cell.frame; 

    gradientLayer.colors = [NSArray arrayWithObjects: 
          [UIColor redColor].CGColor, 
          [UIColor blueColor].CGColor, nil]; 

    gradientLayer.locations = [NSArray arrayWithObjects: 
          [NSNumber numberWithFloat: 0], 
          [NSNumber numberWithFloat: 1], nil]; 


    gradientLayer.masksToBounds = true; 

    [cell.backgroundView.layer addSublayer: gradientLayer]; 

    //[cell.contentView.layer addSublayer : gradientLayer]; 

    [gradientLayer release]; 

如果我设置masksToBounds = true不会以任何方式影响层的圆角半径?

如果我将它添加到contentview中,它会隐藏单元格中的所有内容。如果我添加到backgroundview,它几乎从不显示,当它显示它没有圆角并且只在第一个单元格的底部时,我不知道为什么。

我在我的 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 方法中添加了渐变图层。这是正确的方法吗?我有没有手动使用某些路径或什么东西的圆角?任何帮助表示赞赏。

+0

有没有人知道如何加入这个梯度层后,圆角添加到第一和最后一个细胞? – ahmad

+0

谢谢,第一个链接无法正常工作 –

+0

对不起。链接现在应该是正确的 – Frank