如何使用UIBezierPathwithArcCenter在iOS中绘制完整的圆圈?

Jus*_*ral 1 iphone cocoa-touch ios uibezierpath swift

我希望startAngle处于90度,即π/ 2,所以我想如果我将endAngle设为90度,那么它只会形成一个完整的圆,但是没有绘制任何东西.

当我将开始和结束角度设置为如下所示的不同程度时,绘制路径,但它不是一个完整的圆.

下面是我目前使用的代码,但是如果startAngle是90度以便绘制一个完整的圆圈,我似乎无法弄清楚endAngle应该是什么.

有人可以帮忙吗?

    override func drawRect(rect: CGRect) {
    let center = CGPoint(x: bounds.width / 2, y: bounds.height / 2)
    let radius: CGFloat = max(bounds.width, bounds.height)
    let startAngle: CGFloat = 3 * ? / 4
    let endAngle: CGFloat = ? / 4

    var path = UIBezierPath(arcCenter: center,
                               radius: bounds.width / 2 - arcWidth / 2,
                           startAngle: startAngle,
                             endAngle: endAngle,
                            clockwise: true)


    path.lineWidth = arcWidth
    path.lineCapStyle = kCGLineCapRound
    counterColor.setStroke()
    path.stroke()
}
Run Code Online (Sandbox Code Playgroud)

Mar*_*n R 8

要绘制整圆,起始角度和结束角度必须相差2π.如果您希望起始角度为π/ 2,那么您可以选择

let startAngle = CGFloat(M_PI/2)
let endAngle = CGFloat(M_PI/2 + 2.0*M_PI)
Run Code Online (Sandbox Code Playgroud)