UIBezierPath绘制不规则图形

参考链接
效果:


代码:

let bezierPath = UIBezierPath()
        bezierPath.move(to: CGPoint(x: 40, y: 40))
        bezierPath.addLine(to: CGPoint(x: 150, y: 40))//添加线条
        bezierPath.addArc(withCenter: CGPoint(x: 170, y: 40), radius: 20, startAngle: CGFloat(-1.0*M_PI), endAngle: CGFloat(-1.5*M_PI), clockwise: false)//添加圆弧
        bezierPath.addLine(to: CGPoint(x: 170, y: 150))
        bezierPath.addArc(withCenter: CGPoint(x: 170, y: 170), radius: 20, startAngle: CGFloat(-0.5*M_PI), endAngle: CGFloat(-M_PI), clockwise: false)
        bezierPath.addLine(to: CGPoint(x: 40, y: 170))
        bezierPath.close()
        let shapeLayer = CAShapeLayer()
        let gradientLayer = CAGradientLayer()
        shapeLayer.path = bezierPath.cgPath
        shapeLayer.fillColor = UIColor.clear.cgColor
        shapeLayer.strokeColor = UIColor.black.cgColor
        self.layer.addSublayer(shapeLayer)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容