我有一个自定义UITableViewCell
自定义UILabel
和阴影。
class CustomCell: UITableViewCell {
@IBOutlet weak var titleLabel: UILabel!
@IBOutlet weak var cellBackgroundView: UIView!
@IBOutlet weak var creationDateLabel: UILabel!
override func layoutSubviews() {
super.layoutSubviews()
self.cellBackgroundView.layer.cornerRadius = 12
self.cellBackgroundView.layer.shadowColor = UIColor.black.withAlphaComponent(1.0).cgColor
self.cellBackgroundView.layer.shadowOffset = CGSize.zero
self.cellBackgroundView.layer.shadowRadius = 9
self.cellBackgroundView.layer.shadowOpacity = 0.8
self.cellBackgroundView.layer.shadowPath = UIBezierPath(rect: self.cellBackgroundView.bounds).cgPath
self.cellBackgroundView.layer.masksToBounds = false
self.cellBackgroundView.layer.shouldRasterize = true
self.cellBackgroundView.layer.rasterizationScale = UIScreen.main.scale
}
}
我已尝试在layoutSubviews()
,cellForRowAt: indexPath
和willDisplay cell
中实施此代码,但它始终关闭且不会居中:
编辑:当我开始在tableView中滚动时,它可以正常工作。
编辑2:这就是它的样子:
谢谢!
答案 0 :(得分:2)
尝试使用发布的代码,不用行:
self.cellBackgroundView.layer.shadowPath = UIBezierPath(rect: self.cellBackgroundView.bounds).cgPath
这应该可以解决问题。