相关疑难解决方法(0)

渐变不断在集合视图中的单元格之间快速切换

我的集合视图单元格有一个渐变背景,每个渐变根据单元格是什么标签而不同(例如圣诞节是紫色渐变,生日是绿色渐变)但是当滚动集合视图时,渐变会不断改变单元格. 有没有办法解决这个问题?

这是我用来将渐变设置为背景视图的代码。它在cellForItemAt

cell.mainView.setGradientBackground(colours: self.getColourFromTag(tag: self.lists[indexPath.item].tag))
Run Code Online (Sandbox Code Playgroud)

.setGradientBackground是 UIView 的扩展,它只是为背景设置渐变。此处显示:

func setGradientBackground(colours: [CGColor]) {

    let gradientLayer = CAGradientLayer()
    gradientLayer.frame = bounds
    gradientLayer.colors = colours
    gradientLayer.locations = [0.0, 1.0]
    gradientLayer.startPoint = CGPoint(x: 1.0, y: 1.0)
    gradientLayer.endPoint = CGPoint(x: 0.0, y: 0.0)
    layer.insertSublayer(gradientLayer, at: 0)
}
Run Code Online (Sandbox Code Playgroud)

我使用下面的方法来获取渐变中的颜色

func getColourFromTag(tag: String) -> [CGColor] {

    if tag == "Christmas" {

        return [Colours.gradients.festive.start.cgColor, Colours.gradients.festive.end.cgColor]

    }else if tag == "Birthday" {

        return [Colours.gradients.lime.start.cgColor, Colours.gradients.lime.end.cgColor]

    }else if tag == "Valentines Day" {

        return [Colours.gradients.strawberry.start.cgColor, Colours.gradients.strawberry.end.cgColor]

    }else …
Run Code Online (Sandbox Code Playgroud)

gradient ios uicollectionview swift

4
推荐指数
1
解决办法
877
查看次数

标签 统计

gradient ×1

ios ×1

swift ×1

uicollectionview ×1