gpt4 book ai didi

ios - 圆形填充为 80 %

转载 作者:搜寻专家 更新时间:2023-10-31 22:04:12 25 4
gpt4 key购买 nike

我正在创建圆形填充动画,但我的圆形填充为 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%

at 50 %

80%

at 80%

最佳答案

它显示一个像这样的圆圈,因为你的路径只从 -π/2。将这两个值相减得到 5π/2,这意味着您的路径不只是一个完整的圆。在 50% 时,内角为 225 度/1.25π。你的整个路径比一个完整的圆多 90 度。

您错误地设置了开始值和结束值。

引用这张图片:

enter image description here

您应该像以前一样从 -π/2 开始,但在 3π/2 结束。减去这两个应该得到一个完整的圆 -

关于ios - 圆形填充为 80 %,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53221309/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com