2012-04-08 15 views
6

¿Cómo puedo hacer un movimiento UIImage desde la parte inferior de la pantalla, a la parte superior de la pantalla en 20 segundos (alrededor de 35 píxeles por segundo) No quiero decir que debe arrastrarlo usted mismo, pero debería moverse automáticamente a la cima. GraciasMover un uiimageview animado

Respuesta

18

En primer lugar, apple doc es tu amigo. Toda la información que les doy aquí se deriva de esto. Apple también proporciona MUCHO código de muestra, y definitivamente deberías echarle un vistazo.

La forma en que puede lograr (fácilmente) esto es utilizando animaciones UIView. Suponiendo que tiene un UIImageView para su imagen, puede usar el método animateWithDuration:(NSTimeInterval)duration animations:....

Por ejemplo:

[UIView animateWithDuration:10.0f animations:^{ 
    //Move the image view to 100, 100 over 10 seconds. 
    imageView.frame = CGRectMake(100.0f, 100.0f, imageView.frame.size.width, imageView.frame.size.height); 
}]; 

usted podría conseguir más elegante añadiendo más y más opciones a la animación, la obtención de un bloque de terminación, etc. Todo esto se consigue con variaciones del método 'animateWithDuration'. Hay toneladas de tutoriales sobre animaciones UIView y muchísima documentación.

Si no desea utilizar bloques (el^{... código ...} poco más arriba) se puede ejecutar la animación de la siguiente manera:

[UIView beginAnimations:nil context:nil]; 
[UIView setAnimationDuration:10.0f]; 
imageView.frame = ... 
[UIView commitAnimations]; 
+0

, realmente. ¡Me ayudó con esto! ¡Buscaré las muestras de manzana y veré los videos! – Xcodeuser

+0

Definitivamente esta no es la respuesta. Me pregunto por qué es aceptado. –

+0

Animación de vista de imagen en movimiento es lo que estoy buscando –

3

Si entiendo que se puede hacer una animación de su propio objeto, en este caso probar el BeginAnimation

... 
initial position 

[UIView beginAnimation]; 
[UIView setAnimationDuration:dim/35.]; 
[UIView setAnimationCurve:[UIViewAnimationCurveLinear]; 

your animation 

[UIView commitAnimations]; 
... 

con este cálculo dim/35 cálculos por el segundo lugar para conseguir su animación 35px Gracias hombre/s

+0

¡Gracias, hombre, eres muy útil! – Xcodeuser