Estoy empezando a aprender a utilizar la animación de UIView. Así que escribí las siguientes líneas:setAnimationRepeatAutoreverses no se comportó como esperaba
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:2.0];
[UIView setAnimationRepeatCount:2];
[UIView setAnimationRepeatAutoreverses:YES];
CGPoint position = greenView.center;
position.y = position.y + 100.0f;
position.x = position.x + 100.0f;
greenView.center = position;
[UIView commitAnimations];
En este caso, el UIView (una caja verde) se movió hacia atrás y delanteras 2 veces. Hasta aquí todo bien, PERO descubrí que después del movimiento dos veces, la caja verde terminó saltando a la "nueva posición" (position.x + 100.0f, position.y + 100.0f) en lugar de volver a la posición original (position.x, position.y). Eso hace que la animación parezca bastante extraña (como después de que la caja vuelva a la posición original causada por setAnimationRepeatAutoreverses, salte a la nueva posición en el último microsegundo)
¿Cuál es la mejor manera de hacer que la caja verde NO saltar a la nueva posición en el último minuto?
En realidad, si sigo directamente su código, la vista volará continuamente hacia la esquina superior izquierda. Realmente no necesitamos crear una animación. Simplemente haga -100 para ambos x e y del centro debería ser suficiente. – user222292
No estoy seguro de lo que quieres decir, ¿puedes aclarar qué sucede con el código que he dado? –