iPhone UITableViewCell layer shadow

前端 未结 3 1595
忘了有多久
忘了有多久 2020-12-07 19:03

I\'m trying to add a shadow to a UITableViewCell using the layer.shadowColor, Offset, Radius but it doesn\'t seem to affect it in any way. The table is grouped style. Any id

3条回答
  •  情歌与酒
    2020-12-07 19:46

    You need to also set the shadow opacity, it defaults to 0 and you won't see anything if you don't explicitly set it.

    CALayer Reference

    cell.layer.shadowOffset = CGSizeMake(1, 0);
    cell.layer.shadowColor = [[UIColor blackColor] CGColor];
    cell.layer.shadowRadius = 5;
    cell.layer.shadowOpacity = .25;
    

    Also note, that if you don't set the shadow path you will have terrible performance on the iPhone/iPad. Use something like the following code to set a shadow path, it removes the need to blur the layers underneath your tableviewcell's to create a "high quality" shadow.

    CGRect shadowFrame = cell.layer.bounds;
    CGPathRef shadowPath = [UIBezierPath bezierPathWithRect:shadowFrame].CGPath;
    cell.layer.shadowPath = shadowPath;
    

    Watch video 425 (also 424 and 426) to learn more about shadows from the WWDC 2010 Videos available here: WWDC 2010 Session Videos

提交回复
热议问题