您还需要设置阴影不透明度,它默认为0,如果没有明确设置,则不会看到任何内容。
CALayer Reference
cell.layer.shadowOffset = CGSizeMake(1, 0);
cell.layer.shadowColor = [[UIColor blackColor] CGColor];
cell.layer.shadowRadius = 5;
cell.layer.shadowOpacity = .25;
另外要注意的是,如果你不设置阴影的路径,你将会对iPhone/iPad的可怕表现。使用类似下面的代码来设置阴影路径,它不需要模糊tableviewcell下面的图层来创建“高质量”阴影。
CGRect shadowFrame = cell.layer.bounds;
CGPathRef shadowPath = [UIBezierPath bezierPathWithRect:shadowFrame].CGPath;
cell.layer.shadowPath = shadowPath;
观看视频425(也424和426),详细了解阴影从现有的WWDC 2010的视频在这里:WWDC 2010 Session Videos
这个对我来说非常合适,而不像许多其他解决方案所暗示的那样增加一个额外的单元。同样,如果你的单元格被重用,你需要取消它,因为我只希望这是表格中的最后一个单元格。 – Openside 2011-11-02 11:47:52
性能秘诀是一个巨大的帮助 - 没有阴影路径表格单元格时,他们幻灯片真的波涛汹涌。设置shadowPath有点不明显,并没有真正出现在我能找到的任何文档中。 – 2012-05-23 17:17:54
如果我在tableView中放置阴影,而不是在单元格中滚动tableview的边界时发生变化。如何更新shadowPath以匹配? – 2012-05-24 15:47:31