UITableView中的投影过多

时间:2019-05-26 05:53:03

标签: ios swift xcode uitableview

这是屏幕截图:

enter image description here

如果查看顶部的单元格,则阴影过多,而底部的单元格具有预期的阴影效果。将多余的滚动到屏幕外然后再返回时,消失并恢复正常。我不知道这是怎么回事。

这是我在tableview单元格类中的投影代码:

override func layoutSubviews() {
    super.layoutSubviews()
    let shadowPath = UIBezierPath(rect: containerView.bounds)
    containerView.layer.masksToBounds = false
    containerView.layer.shadowColor = UIColor.black.cgColor
    containerView.layer.shadowOffset = CGSize(width: 0, height: 0.1)
    containerView.layer.shadowOpacity = 0.2
    containerView.layer.shadowPath = shadowPath.cgPath
  }

请帮助,谢谢!

1 个答案:

答案 0 :(得分:0)

我知道了。基本上,我将containerView.bounds用于阴影路径,但是将图层绘制得太大了,因为单元开始时很大,然后根据设备缩小了。解决方案是使用常量。预测高度和宽度,然后使用CGRect。