Estoy tratando de hacer un simple juego de Simon (una secuencia creciente de colores parpadea y el usuario tiene que intentar repetir esa secuencia). La forma en que lo hago es teniendo 4 UIViews con 8 imágenes. Entonces, hay una UIView para rojo, azul, verde y amarillo. Y tengo gifs de color verde oscuro, verde claro, rojo oscuro, rojo claro, etc.objetivo-c: ejecutar múltiples bloques de animación transitionWithView
Así que en mi código, estoy usando el bloque de animación transitionWithView de UIView: El UIView imageView.image está predeterminado en la imagen de color oscuro y este bloque está en transición a una imagen de color claro, y al finalizar regresa a la imagen de color oscuro (para darle un aspecto de "encendido").
- (void) animateColor:(NSString *)color
{
...
//do stuff to default the dark and light image name and which UIView to animate based on the color parameter
...
[UIView transitionWithView:imageView
duration:.5
options: UIViewAnimationOptionTransitionCrossDissolve | UIViewAnimationOptionAutoreverse
animations:^{
imageView.image = [UIImage imageNamed:lightImage];
}
completion:^(BOOL finished){
if (finished){
imageView.image = [UIImage imageNamed:darkImage];
}
}];
}
Esto funciona bien cuando lo llamo el método de este código con un solo color.
El problema es, digamos que tengo un NSArray o colores que deseo animar secuencialmente. Entonces, si mi matriz era "azul", "verde", me gustaría que se llamara a la transiciónWithView con azul, animé la vista azul y luego animé la vista verde. En este momento, animará la vista verde y la vista azul al mismo tiempo.
Estoy tratando de jugar con NSTimer en este momento, pero no tengo mucha suerte con eso.
Cualquier consejo que se agradezca.