Comprendo que esto es una cuestión mayor, pero pensé que me gustaría añadir mi entrada.
creé una clase para el manejo de la animación de varias etapas, disponible here!
Sólo es compatible con una única duración y la variante ajustada, pero probablemente voy a añadir más características.
Así es como usted lo utiliza:
// Create New Animation
MSAnimation * newAnimation = [MSAnimation newAnimationWithDuration:0.35 andOptions:UIViewAnimationOptionCurveEaseInOut];
// Add Sequence
[newAnimation addNewAnimationStage:^{
greenView.center = CGPointMake(greenView.center.x, greenView.center.y + 100);
}];
[newAnimation addNewAnimationStage:^{
greenView.center = CGPointMake(greenView.center.x + 100, greenView.center.y);
}];
[newAnimation addNewAnimationStage:^{
greenView.center = CGPointMake(greenView.center.x, greenView.center.y + 100);
}];
[newAnimation addNewAnimationStage:^{
greenView.center = CGPointMake(greenView.center.x - 50, greenView.center.y);
}];
[newAnimation addNewAnimationStage:^{
greenView.frame = CGRectMake(0, 0, 100, 100);
}];
// Animate Your Sequence With Completion
[newAnimation animateSequenceWithCompletion:^{
NSLog(@"All finished!");
}];
le ofrece:
animación multietapa es realmente una característica de diseño que falta de la UIKit. Puedes obtener algo usando QuartzCore, pero no mucho. Alguien debería encontrar una mejor solución en el futuro. –