0
我用UIView調用了UICollectionViewCell,這個UIView叫做gradientView,它被用作標籤的背景。正確刪除漸變圖層
這個UIView需要漸變 - 在單元格的頂部是光線和幾乎透明的,並且在單元格的底部會變得稍暗(簡單的線性漸變)。
所以我創建了一個名爲addGradient的func,它需要UIView並向其添加梯度圖層。
func addGradient(view : UIView){
view.backgroundColor = .clear
let color1 = somecolor1.cgColor
let color2 = somecolor2.cgColor
let gradient:CAGradientLayer = CAGradientLayer()
gradient.frame.size = view.frame.size
gradient.colors = [color1, color2]
view.layer.addSublayer(gradient)
}
Inside cellForItemAt我調用addGradient(cell.gradientView)並顯示漸變。但我有2個問題:
1)每個細胞變得越來越暗 - 似乎層添加一個比另一個,我不希望它
2)有時這種梯度性能稍微放錯了地方 - 我也是認爲這是因爲我沒有正確刪除這些圖層
那麼如何以及在哪裏我應該清除子圖層,也許我的方法在cellForItemAt中添加此漸變是不正確的?