如何在 table 视图单元格的顶部添加阴影?

How to add a shadow to the top of a table view cell?

我想在单个 table 视图单元格的顶部和底部添加阴影 我目前有这个,但它只将阴影应用于该单元格的底部。

    cell.layer.shadowColor      = UIColor.black.cgColor
    cell.layer.shadowOffset     = CGSize.zero
    cell.layer.shadowRadius     = 4
    cell.layer.shadowOpacity    = 0.3
    let shadowFrame: CGRect     = cell.layer.bounds
    let shadowPath: CGPath      = UIBezierPath(rect: shadowFrame).cgPath
    cell.layer.shadowPath       = shadowPath
    cell.layer.masksToBounds    = false

我发现了问题 - 在 table 视图中,单元格在视图层次结构中从下到上分层(这就是 OS 排列 table 的方式)。

因此,如果阴影仅应用于 table 中间的一个单元格,则 table 中其上方的单元格在视图层次结构中会叠加在其顶部,从而覆盖阴影层的顶部。

为了解决这个问题,我添加了这一行

cell.layer.zPosition        = 50