Mam CollectionView i chcę utworzyć animację wewnątrz CollectionViewCell wybranego przez użytkownika. Wybrałem opcję animateKeyframesWithDuration, ponieważ chcę utworzyć krok po kroku niestandardową animację. Mój kod wygląda następująco:Zatrzymaj animację iOS przed zakończeniem.
func animate() {
UIView.animateKeyframesWithDuration(1.0, delay: 0.0, options: .AllowUserInteraction, animations: {() -> Void in
UIView.addKeyframeWithRelativeStartTime(0.0, relativeDuration: 0.5, animations: {() -> Void in
// First step
})
UIView.addKeyframeWithRelativeStartTime(0.5, relativeDuration: 0.5, animations: {() -> Void in
// Second step
})
}) { (finished: Bool) -> Void in
if self.shouldStopAnimating {
self.loadingView.layer.removeAllAnimations()
} else {
self.animate()
}
}
}
Jest wykonywany wewnątrz niestandardowego CollectionViewCell, gdy jest wybrany. Problem polega na tym, że chcę wymusić natychmiastowe zatrzymanie animacji w pewnym określonym momencie. Ale kiedy to robię, animacja nie zatrzymuje się całkowicie, po prostu przesuwa pozostałą animację na inną komórkę (prawdopodobnie ostatnią ponownie wykorzystaną komórkę?)
Nie mogę zrozumieć, dlaczego tak się dzieje. Próbowałem różnych podejść, ale żadna z nich nie zatrzymała animacji przed normalnym wejściem do bloku zakończenia. Czy ktoś ma jakiś pomysł na ten temat?
pan znaleźć rozwiązanie dla tego? – swalkner