在自定义UITableViewCell上投影

时间:2014-11-05 20:12:28

标签: xcode cocoa swift

我正试图给自己的UITableViewCell投下阴影。我看到有两种方法。第一个(我更喜欢)是在 Identity Inspector 中使用用户定义的运行时属性

enter image description here

这里有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)

两个版本都不起作用。阴影只是没有显示。我做错了什么?

1 个答案:

答案 0 :(得分:1)

一个问题是阴影被吸引到细胞外面的背后。但你无法看到,因为下一个细胞覆盖了它!所以你无法知道是否正在绘制阴影。

另一个问题是该单元格可能clipsToBounds设置为true。因此阴影永远不会被绘制,因为它超出了细胞的范围。

一种简单的方法来做你以后的事情就是手动单元格中绘制阴影(例如,作为单元格内容视图的子视图的阴影)。