向细胞添加透明渐变蒙版

时间:2016-09-12 08:47:40

标签: ios swift

我想为一个单元格添加渐变蒙版而不是透明。

这应该淡出最后一行文字。所以我在我的单元格中添加了一个UIView,并尝试使用:

       let gradient: CAGradientLayer = CAGradientLayer()
       gradient.frame = cell.gradientFooterView.frame
       gradient.colors = [UIColor.clearColor().CGColor, UIColor(rgba: item.color).CGColor]
       cell.gradientFooterView.layer.insertSublayer(gradient, atIndex: 0)

但没有成功。如何创建透明蒙版?

2 个答案:

答案 0 :(得分:2)

似乎你错过了渐变的位置,starPoint和endPoint 您可以根据需要修改这段代码

var maskLayer = CAGradientLayer()
maskLayer.frame = self.collectionView.bounds
let black = UIColor.whiteColor().CGColor
let clear = UIColor(white: 1, alpha: 0).CGColor
maskLayer.colors = [black, clear, clear, black]
maskLayer.locations = [0.0, 0.15, 0.85, 1.0]
maskLayer.startPoint = CGPointMake(0.0, 0.0)
maskLayer.endPoint = CGPointMake(1.0, 0.0)
yourview.layer.addSublayer(maskLayer)

答案 1 :(得分:0)

试试这个,我已经在我的代码中对此进行了测试。我刚刚使用了单元格颜色而不是清晰的颜色。

    if let vw = cell.contentView.viewWithTag(11) {
        let gl = CAGradientLayer()
        gl.colors = [UIColor.whiteColor().CGColor, UIColor.yellowColor().CGColor]
        gl.frame = vw.bounds
        gl.startPoint = CGPointMake(0.0, 0.0)
        gl.endPoint = CGPointMake(0.0, 1.0)
        vw.layer.insertSublayer(gl, atIndex: 0)
    }