0
我有一个UIView
叫viewProgress
。它是图像中的白色框。我想要一个圆形的进度条,它是图像中的绿色圆圈。进度条应该保持在白框内,但正如你所看到的那样,它是离开的。CAShapeLayer的位置不正确
如何让它留在viewProgress
内? 这里有我的动画功能:
func animateView() {
let circle = viewProgress // viewProgress is a UIView
var progressCircle = CAShapeLayer()
let circlePath = UIBezierPath(arcCenter: circle.center, radius: circle.bounds.midX, startAngle: -CGFloat(M_PI_2), endAngle: CGFloat(3.0 * M_PI_2), clockwise: true)
progressCircle = CAShapeLayer()
progressCircle.path = circlePath.CGPath
progressCircle.strokeColor = UIColor.whiteColor().CGColor
progressCircle.fillColor = UIColor.clearColor().CGColor
progressCircle.lineWidth = 10.0
circle.layer.addSublayer(progressCircle)
let animation = CABasicAnimation(keyPath: "strokeEnd")
animation.fromValue = 0
animation.toValue = 0.4
animation.duration = 1
animation.fillMode = kCAFillModeForwards
animation.removedOnCompletion = false
progressCircle.addAnimation(animation, forKey: "ani")
}
而且我打电话内viewDidLoad()
工作就像一个魅力添加额外的动画!如果我不希望结局四舍五入,我该如何改变这种情况? –
刚刚移除'progressCircle.lineCap =“round”' – gbk