Swift--UIBezierPath 绘制图形

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/SoftwareDoger/article/details/102779424
    func drawBack() {
        //// Color Declarations
        let strokeColor = color
     
        let bezierPath = UIBezierPath()
        bezierPath.move(to: CGPoint(x: frame.minX + 25 + 12 , y: frame.minY + 50))
        bezierPath.addLine(to: CGPoint(x: frame.minX + 0.47 * frame.width, y: frame.minY + 50))
        bezierPath.addLine(to: CGPoint(x: frame.minX + 0.5 * frame.width, y: frame.minY + 50 - 30))
        bezierPath.addLine(to: CGPoint(x: frame.minX + 0.53 * frame.width, y: frame.minY + 50))
        bezierPath.addLine(to: CGPoint(x: frame.maxX - 25 - 12 , y: frame.minY + 50))
        bezierPath.addArc(withCenter: CGPoint(x: frame.maxX - 25 - 12, y: frame.minY + 50 + 12), radius: 12, startAngle: 1.5 * .pi, endAngle: 0, clockwise: true)
        bezierPath.addLine(to: CGPoint(x: frame.maxX - 25, y: frame.maxY - 50 - 12))
        bezierPath.addArc(withCenter: CGPoint(x: frame.maxX - 25 - 12, y: frame.maxY - 50 - 12), radius: 12, startAngle: 0, endAngle: 0.5 * .pi, clockwise: true)
        bezierPath.addLine(to: CGPoint(x: frame.minX + 25 + 12 , y: frame.maxY - 50))
        bezierPath.addArc(withCenter: CGPoint(x: frame.minX + 25 + 12, y: frame.maxY - 50 - 12), radius: 12, startAngle: 0.5 * .pi, endAngle: 1 * .pi, clockwise: true)
        bezierPath.addLine(to: CGPoint(x: frame.minX + 25 , y: frame.minY + 50 + 12))
        bezierPath.addArc(withCenter: CGPoint(x: frame.minX + 25 + 12, y: frame.minY + 50 + 12), radius: 12, startAngle: 1 * .pi, endAngle: 1.5 * .pi, clockwise: true)
        bezierPath.addLine(to: CGPoint(x: frame.minX + 25 + 12 , y: frame.minY + 50))
        bezierPath.close()
        strokeColor.setStroke()
        UIColor.white.setFill() // 所绘制的曲线围起来的区域设置颜色
        bezierPath.fill() //填充
        bezierPath.lineWidth = 3.5
        bezierPath.stroke()
    }

//调用代码
    override func draw(_ rect: CGRect) {
        drawBack()
    }

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/SoftwareDoger/article/details/102779424