UITableViewCell上的阴影表现不佳

时间:2016-01-15 19:39:16

标签: ios swift uitableview shadow shadowpath

我正在使用自定义单元格创建表格视图,它看起来像新闻源 - 在灰色背景上有带圆角和阴影的矩形。

cellForRowAtIndexPath方法正在调用时,我正在设置这样的阴影:

cell.postCard.layer.cornerRadius = 3
cell.postCard.layer.shadowColor = UIColor.darkGrayColor().CGColor
cell.postCard.layer.shadowOffset = CGSizeMake(0,1)
cell.postCard.layer.shadowRadius = 3
cell.postCard.layer.shadowOpacity = 0.5
cell.layer.shadowPath = UIBezierPath(rect: cell.postCard.layer.bounds).CGPath

其中postCard是UIView - 它是所有单元格上下文的容器。

我已经读过我需要添加shadowPath以获得良好的性能,但我认为它不起作用,因为当我慢慢移动表视图时会出现口吃。可以使用模拟器而不是真实设备吗?

3 个答案:

答案 0 :(得分:1)

您正在设置影子图层的阴影路径,同时修改cell.postCard的阴影设置

cell.postCard.layer.shadowOpacity = 0.5
cell.layer.shadowPath = UIBezierPath(rect: cell.postCard.layer.bounds).CGPath

这真的是你需要的吗?

答案 1 :(得分:0)

此外,您应该为您的单元格设置'cell.clipsToBounds = false'。

答案 2 :(得分:0)

尝试read关于should​Rasterize以及它如何处理UI元素的阴影和角半径。您可以通过操纵should​Rasterize值来提升性能。