版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
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()
}