iOS 给View添加一个渐变色边框

主要思路

添加一个CAGradientLayer,这个CAGradientLayer的遮罩层是一个填充透明的CAShapeLayer,渐变色的颜色、方向由CAGradientLayercolorsstartPointendPoint来决定,边框的宽度由CAShapeLayerlineWidth决定,另外边框的圆角也是可以配置的,这里不再赘述了,代码如下:

        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)

效果如下:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容