ich eine UIScrollView auf diese Weise animiert haben:Wie CAKeyframeAnimation in UIScrollView.layer.addAnimation zu stoppen - removeAnimationForKey und removeAllAnimations nichts tun
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")
Dann, wenn der Benutzer ein tippt Abbrechen Ich habe versucht, dieses:
myScrollView.layer.removeAnimationForKey("move")
myScrollView.layer.removeAllAnimations()
keiner funktioniert. Ich habe auch versucht anim.duration = 0.0
Einstellung. Das hatte keine Wirkung. Ich kann nichts mit myScrollView.layer.presentationLayer()
tun, weil presentationLayer()
nil
ist.
Die Animationen müssen nicht pausiert werden. Sie können vollständig angehalten und verworfen werden. Sie werden nie neu gestartet.
Diese Animationen können 30 Sekunden oder länger sein. Den Benutzer dazu zu zwingen, bis zum Ende zu warten, ist UX/UI nicht gut.
Jede Hilfe würde sehr geschätzt werden.
Danke,
David
machst du irgendetwas im Abschluss-Handler der Animation? bedeutet, wenn die Animation komplett von vorne beginnt? – Lion
Lion, Ich habe keinen Abschluss-Handler. Ich möchte nicht noch einmal anfangen. Die Animation ist pünktlich mit einem anderen Prozess, der die gleiche Zeit dauert. Ich muss das Ende von beiden nicht erkennen. Danke, David –