在UITableViewCell上绘制阴影

时间:2012-02-12 00:36:18

标签: objective-c ios cocoa-touch uitableview calayer

如何在UITableViewCell的顶部绘制阴影? Tweetbot这样做,这是一个截图:

enter image description here

1 个答案:

答案 0 :(得分:13)

您可以使用CAGradientLayer。在cellForRowAtIndexPath中,创建单元格时,创建渐变图层并将其添加到单元格中。注意,您必须导入QuartzCore框架。像这样,

        //top shadow
        UIView *topShadowView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.tableView.bounds.size.width, 10)];
        CAGradientLayer *topShadow = [CAGradientLayer layer];
        topShadow.frame = CGRectMake(0, 0, self.tableView.bounds.size.width, 10);
        topShadow.colors = [NSArray arrayWithObjects:(id)[[UIColor colorWithWhite:0.0 alpha:0.25f] CGColor], (id)[[UIColor clearColor] CGColor], nil];
        [topShadowView.layer insertSublayer:topShadow atIndex:0];

        [cell.contentView addSubview:topShadowView];