Reimplementar los métodos de animación basados ​​en bloques UIView con una curva de suavizado personalizada

La falta de curvas de aceleración personalizadas en los métodos de animación basados ​​en bloques de UIView conduce a Core Animation si se necesitan curvas más avanzadas.

Una forma de hacer esto con una Categoría enCAKeyframeAnimation se discute en¿Cómo crear una función de aceleración personalizada con Core Animation?.

Para mantener mi código limpio y mantenible, me gustaría ir un paso más allá y volver a implementarlo.UIViewLos métodos basados ​​en bloques e incluyen un bloque que describe la función de curva de suavizado. categoría resultante enUIView se vería algo como esto:

+ (void)animateWithDuration:(NSTimeInterval)duration easingCurveFunction:(double(^)(double))function  animations:(void (^)(void))animations;

¿Alguien tiene una idea de cómo Apple implementa sus métodos de animación basados ​​en bloques?

Respuestas a la pregunta(2)

Su respuesta a la pregunta