Я пытаюсь анимировать изменение path
имущества CAShapeLayer
, как это:Animate CAShapeLayer изменить путь
animatePathChange(for: progressLayer, toPath: progressPath.cgPath)
progressLayer.path = progressPath.cgPath
И это animatePathChange
код функции:
func animatePathChange(for layer: CAShapeLayer, toPath: CGPath) {
let animation = CABasicAnimation(keyPath: "path")
animation.duration = 1.0
animation.fromValue = layer.path
animation.toValue = toPath
animation.timingFunction = CAMediaTimingFunction(name: "easeInEaseOut")
layer.add(animation, forKey: "path")
}
Но конечный результат не то, что я хочу. Как я могу добиться анимации, которая изменяет 1 слоя от старого значения к новому?
Вот как это выглядит прямо сейчас с указанным кодом:
Вы можете анимировать 'strokeEnd' слоя вместо изменения пути? – dan
Это будет анимировать дорожки с начала. Я хочу оживить только разницу между старым и новым путем по пути. –