Я криничила UIScrollView так:Как остановить CAKeyframeAnimation в UIScrollView.layer.addAnimation - removeAnimationForKey и removeAllAnimations ничего не делать
let anim = CAKeyframeAnimation()
anim.keyPath = "bounds.origin.x"
anim.values = self.animValues
anim.keyTimes = self.animKeyTimes
anim.duration = self.animDuration
anim.additive = true
myScrollView.layer.addAnimation(anim, forKey: "move")
Затем, когда пользователь нажимает Отмены Я попытался это:
myScrollView.layer.removeAnimationForKey("move")
myScrollView.layer.removeAllAnimations()
Ни один из них не работает. Я также попытался установить anim.duration = 0.0
. Это не имело никакого эффекта. Я не могу ничего делать с myScrollView.layer.presentationLayer()
, потому что presentationLayer()
is nil
.
Анимации не нужно приостанавливать. Они могут быть полностью остановлены и отброшены. Они никогда не перезапускаются.
Эти анимации могут составлять 30 секунд или более. Принуждение пользователя ждать, пока оно закончится, не является хорошим UX/UI.
Любая помощь была бы принята с благодарностью.
Спасибо,
David
Вы делаете что-либо в обработчике завершения анимации? означает, когда полная анимация начнется снова? – Lion
Lion, У меня нет обработчика завершения. Я не хочу начинать снова. Анимация успевает с другим процессом, который длится столько же времени. Мне не нужно обнаруживать конец обоих. Thanks, David –