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

时间:2011-08-12 13:07:34

标签: iphone objective-c uitableview gradient

-Hello,如何将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 方法。这是正确的方法吗?如果没有手动使用某些路径或东西,我会有圆角吗?任何帮助表示赞赏。