swift 中的自定义 UIBezierPath(Arc 麻烦)

Custom UIBezierPath in swift (Arc trouble)

我写这段代码:

let leftUpPath = UIBezierPath()
leftUpPath.move(to: CGPoint(x: 40, y: 40))
leftUpPath.addArc(withCenter: CGPoint(x: 40, y: 40),
    radius: 10,
    startAngle: CGFloat(Double.pi),
    endAngle: CGFloat(3*Double.pi),
    clockwise: true)
leftUpPath.addLine(to: CGPoint(x: 30, y: 50))
leftUpPath.addLine(to: CGPoint(x: 90, y: 50))
leftUpPath.addLine(to: CGPoint(x: 80, y: 30))
leftUpPath.addLine(to: CGPoint(x: 40, y: 30))

这在我的故事板中向我展示了这一点:

但我想要这个:

如果有人有解决办法,我想我的问题是我画弧的地方...谢谢你的帮助

第一个点和圆弧不正确。您需要:

let leftUpPath = UIBezierPath()
leftUpPath.move(to: CGPoint(x: 40, y: 30))
leftUpPath.addArc(withCenter: CGPoint(x: 40, y: 40),
                  radius: 10,
                  startAngle: .pi * 3 / 2,
                  endAngle: .pi,
                  clockwise: false)
leftUpPath.addLine(to: CGPoint(x: 30, y: 50))
leftUpPath.addLine(to: CGPoint(x: 90, y: 50))
leftUpPath.addLine(to: CGPoint(x: 80, y: 30))
leftUpPath.addLine(to: CGPoint(x: 40, y: 30))