【发布时间】:2021-06-04 12:55:10
【问题描述】:
我正在尝试使用UIBezierPath 创建一个饼图。
问题是当填充时,端点不是在中心连接,而是像这样相互连接:
func progressCircle() -> CALayer {
let progressCircle = CAShapeLayer()
let pi : CGFloat = .pi
let rect = CGRect(x: 0, y: 0, width: 50, height: 50)
let radius = rect.width/2
let phaseShift = 1/2*pi
let current : CGFloat = 70.0//currentCount
let total : CGFloat = 100.0//total
let startAngle : CGFloat = 0 - phaseShift
let endAngle = (2 * pi * current/total) - phaseShift
progressCircle.path = UIBezierPath(arcCenter: CGPoint(x: rect.midX, y: rect.midY), radius:radius , startAngle: startAngle, endAngle: endAngle, clockwise: true).cgPath
progressCircle.fillColor = UIColor.red.cgColor
return progressCircle
}
【问题讨论】:
-
这是您的代码的正常行为。你有分,自己画,不要只靠
UIBezierPath(arcCenter:radius:startAngle:endAngle:clockwise:)。
标签: swift pie-chart uibezierpath