【发布时间】:2020-08-25 22:59:03
【问题描述】:
我有一个包含图像的自定义UITableViewCell,我向UIImageView 添加了一个扩展,它添加了一个图层以覆盖较浅的颜色。
func overlay(widht: CGFloat, height: CGFloat, color: UIColor) {
let colorOverlay = CALayer()
colorOverlay.frame = CGRect(x: 0, y: 0, width: widht, height: height)
colorOverlay.backgroundColor = color.cgColor
self.layer.addSublayer(colorOverlay)
self.layer.masksToBounds = true
}
这里的问题是,每次重复使用单元格时,都会添加层,因此它们会堆叠起来,直到图像不再可见,可见的只是一个灰色矩形
self.image.overlay(widht: self.image.frame.width, height: self.image.frame.height, color: UIColor.gray)
如何防止图层堆叠?或者如何在不使用可重复使用单元格的CALayer() 的情况下为图像添加叠加颜色
【问题讨论】:
标签: ios swift uitableview overlay calayer