我在设置渐变颜色以在集合视图中查看时遇到了这个问题
第一次绘制时会很好。 但是当我选择某个选项并重新加载相同的集合时,就像第二张图片一样。
viccalexander /变色龙(https://github.com/viccalexander/Chameleon)
答案 0 :(得分:1)
尝试以下代码,可能会对您有所帮助
extension UIView{
func addGradientBackground(firstColor: UIColor, secondColor: UIColor){
clipsToBounds = true
let gradientLayer = CAGradientLayer()
gradientLayer.colors = [firstColor.cgColor, secondColor.cgColor]
gradientLayer.frame = self.bounds
gradientLayer.startPoint = CGPoint(x: 0, y: 0)
gradientLayer.endPoint = CGPoint(x: 0, y: 1)
print(gradientLayer.frame)
self.layer.insertSublayer(gradientLayer, at: 0)
}
}
在您的单元格内即可:
override func awakeFromNib() {
super.awakeFromNib()
DispatchQueue.main.async {
self.addGradientBackground(firstColor: .green, secondColor: .blue)
}
}
仅在Xib文件中添加此行,否则在重新加载单元格时在单元格self.addGradientBackground(firstColor:.green,secondColor:.blue)中添加多个Gradient