iOS 给View添加一个渐变色边框
2019-08-24 本文已影响0人
某某香肠
主要思路
添加一个CAGradientLayer
,这个CAGradientLayer
的遮罩层是一个填充透明的CAShapeLayer
,渐变色的颜色、方向由CAGradientLayer
的colors
、startPoint
、endPoint
来决定,边框的宽度由CAShapeLayer
的lineWidth
决定,另外边框的圆角也是可以配置的,这里不再赘述了,代码如下:
let gradientLayer = CAGradientLayer()
gradientLayer.frame = boarderView.bounds
gradientLayer.colors = [UIColor.blue.cgColor,UIColor.green.cgColor]
let maskLayer = CAShapeLayer()
maskLayer.lineWidth = 2.0
maskLayer.path = UIBezierPath(rect: self.boarderView.bounds).cgPath
maskLayer.fillColor = UIColor.clear.cgColor
maskLayer.strokeColor = UIColor.black.cgColor
gradientLayer.mask = maskLayer
self.boarderView.layer.addSublayer(gradientLayer)
效果如下: