iOS-Swift设置圆角渐变色边框
let myView = UIView()
myView.bounds = CGRect(x: 0, y: 0, width: 300, height: 100)
myView.addGradientLayerWithCorner(cornerRadius: 20, lineWidth: 10, colors: [UIColor.blue.cgColor, UIColor.green.cgColor])
extension UIView {
func addGradientLayerWithCorner(cornerRadius:CGFloat, lineWidth:CGFloat, colors: [CGColor]) {
let gradientLayer = CAGradientLayer()
gradientLayer.frame = self.bounds
gradientLayer.colors = [UIColor.blue.cgColor,UIColor.green.cgColor]
gradientLayer.cornerRadius = cornerRadius
let maskLayer = CAShapeLayer()
maskLayer.lineWidth = lineWidth
maskLayer.path = UIBezierPath(roundedRect: CGRect(x: lineWidth / 2, y: lineWidth / 2, width: bounds.width - lineWidth, height: bounds.height - lineWidth), cornerRadius: cornerRadius).cgPath
maskLayer.fillColor = UIColor.clear.cgColor
maskLayer.strokeColor = UIColor.black.cgColor
gradientLayer.mask = maskLayer
self.layer.addSublayer(gradientLayer)
}
}
这么个东西,网上一搜实现的也是各种问题。只能自己封装一下。