如何在使用 CABasicAnimation 时重复相同的动画

How to repeat same animation while working with CABasicAnimation

我正在创建自己的自定义 activity 指标。我用 CAShapeLayer 创建了一个圆形视图,我设法抚摸了圆形层,但我想无限期地这样做,直到用户想要停止。下面是我的描边图层动画代码。

private func getStrokeEndAnimation()->CABasicAnimation{
        let animation = CABasicAnimation(keyPath: "strokeEnd")
        animation.fromValue = 0.0
        animation.toValue = 1.0
        animation.duration = 2.0
        animation.fillMode = .forwards
        animation.isRemovedOnCompletion = false
        return animation
}

BasicAnimation 上有一个名为 repeatCount 的实例 属性,但如果我指定我的 activity 指示器将按给定次数设置动画,就像我这样做一样

animation.repeatCount = 3

它只会动画3次。我怎样才能确保动画无限期地继续下去,直到我停止它。

animation.repeatCount = .greatestFiniteMagnitude 将出于所有实际目的永远重复它。

您可以根据Apple docs

在重复计数中使用无穷大

Infinity compares greater than all finite numbers and equal to other infinite values.

animation.repeatCount = .infinity