我正试图给自己的UITableViewCell
投下阴影。我看到有两种方法。第一个(我更喜欢)是在 Identity Inspector 中使用用户定义的运行时属性:
这里有1个问题:我看过我需要添加layer.shadowOffset
,但我会在那里使用Type
那个?
第二种方法是以编程方式进行
let rgb: CGColorSpaceRef = CGColorSpaceCreateDeviceRGB()
let black: [CGFloat] = [0.0, 0.0, 0.0, 1.0]
cell.layer.shadowColor = CGColorCreate(rgb, black)
cell.layer.shadowOpacity = 1;
cell.layer.shadowRadius = 10;
cell.layer.shadowOffset = CGSizeMake(-2, 7)
两个版本都不起作用。阴影只是没有显示。我做错了什么?
答案 0 :(得分:1)
一个问题是阴影被吸引到细胞外面的背后。但你无法看到,因为下一个细胞覆盖了它!所以你无法知道是否正在绘制阴影。
另一个问题是该单元格可能clipsToBounds
设置为true
。因此阴影永远不会被绘制,因为它超出了细胞的范围。
一种简单的方法来做你以后的事情就是手动在单元格中绘制阴影(例如,作为单元格内容视图的子视图的阴影)。