Implementieren Sie blockbasierte UIView-Animationsmethoden mit einer benutzerdefinierten Beschleunigungskurve neu
Das Fehlen von benutzerdefinierten Beschleunigungskurven in den blockbasierten Animationsmethoden von UIView führt zu einer Kernanimation, wenn fortgeschrittenere Kurven benötigt werden.
Eine Möglichkeit, dies mit einer Kategorie zu tunCAKeyframeAnimation
wird diskutiert inWie erstelle ich eine benutzerdefinierte Beschleunigungsfunktion mit Core Animation?.
Um meinen Code sauber und wartbar zu halten, möchte ich noch einen Schritt weiter gehen und ihn neu implementierenUIView
Blockbasierte Methoden von und enthalten einen Block, der die Beschleunigungskurvenfunktion beschreibt. resultierende Kategorie aufUIView
würde ungefähr so aussehen:
+ (void)animateWithDuration:(NSTimeInterval)duration easingCurveFunction:(double(^)(double))function animations:(void (^)(void))animations;
Hat jemand eine Idee, wie Apple seine blockbasierten Animationsmethoden implementiert?