Miałem następujące niestandardowe przejście przy użyciu UIView.animateWithDuration(...usingSpringWithDamping:...)
, które działało idealnie.iOS: springWithDamping like animacja dla animacji KeyFrame
UIView.animateWithDuration(self.transitionDuration(transitionContext),
delay: 0.0, usingSpringWithDamping: 0.8, initialSpringVelocity: 1.0,
options: nil, animations: {() in
// ...
}, completion: {(Bool) in
// ...
})
Ale wtedy miałem przedłużyć swój własny przejście z UIViewControllerInteractiveTransitioning
aby mieć interaktywny przejścia, gdzie użytkownik może ponownie przesuń w dół modalne widoku.
Dlatego potrzebowałem klatek kluczowych do animacji, aby UIPercentDrivenInteractiveTransition
działał poprawnie.
Więc zmieniłem funkcję animacji, aby użyć UIView.animateWithKeyframes...
.
UIView.animateKeyframesWithDuration(self.transitionDuration(transitionContext),
delay: 0.0, options: UIViewKeyframeAnimationOptions.CalculationModeCubic,
animations: {() in
// ...
}, completion: {(Bool) in
// ...
})
Mój problem teraz: Straciłem animację wiosny.
Sprawdziłem kilka linków, jeden z najbardziej obiecujących było:
... ale z .addKeyframes...
metody nie mogę określić blok ukończenia że muszę.
Wszelkie sugestie? : -/
pan spojrzeć na https://github.com/felixjendrusch/Marionette? – Eran
odłóż na bok, sprawdź ten post na wiosennych animacjach https://medium.com/@flyosity/your-spring-animations-are-bad-and-it-s-probably-apple-s-fault-784932e51733 –