我正在创建圆填充动画,但是我的圆填充率为80%,如果不是50%,则不是一半,有什么方法可以纠正它,因为我很困惑
class FillCircleAnimatedView : UIView {
private let shapeLayer = CAShapeLayer()
override init(frame: CGRect) {
super.init(frame: frame)
setUpLayer()
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func setUpLayer() {
shapeLayer.fillColor = UIColor.clear.cgColor
shapeLayer.strokeColor = UIColor.black.cgColor
shapeLayer.lineWidth = frame.width
let startAngle = (-1 * CGFloat.pi) / 2
let endAngle = 2 * CGFloat.pi
shapeLayer.path = UIBezierPath(arcCenter: center, radius: frame.width / 2, startAngle: startAngle, endAngle: endAngle, clockwise: true).cgPath
shapeLayer.strokeEnd = 0
layer.addSublayer(shapeLayer)
}
func fillCircle(with progress: CGFloat) {
shapeLayer.strokeEnd = progress
}
}
50%
80%