我要求在UIImageView的某些部分(仅在左侧和右侧)添加渐变。 我知道,这可以通过使用CAGradientLayer()来完成。但我对属性的位置和颜色感到困惑。
以下是我的代码。它在顶部和底部添加渐变。
if let containerView = imageView.superView {
let gradient = CAGradientLayer(layer: containerView.layer)
gradient.frame = containerView.bounds
gradient.colors = [UIColor.clear.cgColor, UIColor.blue.cgColor ,UIColor.blue.cgColor, UIColor.clear.cgColor]
gradient.locations = [0.0 , 0.25 , 0.85 , 1.0]
containerView.layer.mask = gradient
}
提前致谢
答案 0 :(得分:1)
您需要像这样在任意视图中创建CAGradientLayer
图层
let gradientLayer = CAGradientLayer()
gradientLayer.frame = CGRectMake(0, 0,300, 380)
gradientLayer.colors = [UIColor(red:55.0/255, green:149.0/255, blue:227.0/255, alpha:1.0).CGColor,UIColor(red:20.0/255, green:77.0/255, blue:120.0/255, alpha:1.0).CGColor]
gradientLayer.startPoint = CGPoint(x: 0.0, y: 1.0)
gradientLayer.endPoint = CGPoint(x: 1.0, y: 1.0)
imgView.layer.insertSublayer(gradientLayer, atIndex: 0)
对于所有方向,例如top-buttom
,left-right
,反之亦然,您需要更改startPoint
和endPoint
上述代码的输出是
答案 1 :(得分:0)
gradient.colors
gradient.colors
属性用于定义每个渐变的颜色
如果您看到文档,
gradient.locations
用于定义颜色之间的渐变停止点文档:NSNumber对象的可选数组,将每个渐变停止的位置定义为范围[0,1]
中的值
这是你要找的吗?