我正在尝试为UITableViewCell
创建一个投影,但CALayer
不能像它假设的那样工作。
我的自定义单元格有:
全局变量:
var l = CALayer()
接下来,当一个单元格将被重用时,我必须从超级层中删除该层。
override func prepareForReuse() {
super.prepareForReuse()
l.removeFromSuperlayer()
}
我正在设置边界并在内部插入图层:
override func layoutSubviews() {
super.layoutSubviews()
l.frame = self.bounds
layer.insertSublayer(l, at: 0)
}
最后layer
配置位于willDisplay cell:
l.backgroundColor = UIColor.rgbColor(red: 221, green: 221, blue: 221, alpha: 1.0).cgColor
l.position = CGPoint(x: bounds.width / 2, y: -bounds.height / 2 + 0.5)
l.bounds = CGRect(x: 0, y: 0, width: bounds.width, height: bounds.height)
l.shadowColor = UIColor.darkGray.cgColor
l.shadowOffset = CGSize(width: 0, height: 1)
l.shadowOpacity = 0.8
l.shadowRadius = 5.0
l.zPosition = -1
l
没有单元格。之前,它完全进入自定义单元格方法。
任何想法我错过了什么? 谢谢!