我想为一个单元格添加渐变蒙版而不是透明。
这应该淡出最后一行文字。所以我在我的单元格中添加了一个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)
但没有成功。如何创建透明蒙版?
答案 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)
}