2011-02-12 13 views

Respuesta

24

Si usted quiere hacer que sus puntos de vista, imágenes, etc. Wobble, como la pantalla de inicio, se podría hacer algo como esto:

CGAffineTransform leftWobble = CGAffineTransformRotate(CGAffineTransformIdentity, RADIANS(-15.0)); 
    CGAffineTransform rightWobble = CGAffineTransformRotate(CGAffineTransformIdentity, RADIANS(15.0)); 

    view.transform = leftWobble; // starting point 

    [UIView beginAnimations:@"wobble" context:view]; 
    [UIView setAnimationRepeatAutoreverses:YES]; 
    [UIView setAnimationRepeatCount:5]; // adjustable 
    [UIView setAnimationDuration:0.125]; 
    [UIView setAnimationDelegate:self]; 
    view.transform = rightWobble; // end here & auto-reverse 
    [UIView commitAnimations]; 

También habría que añadir esta definición:

#define RADIANS(degrees) ((degrees * M_PI)/180.0) 
+0

donde debería poner este código en el método viewDidUnload() o cualquier otro ya que realmente no tengo idea acerca de esto gracias – Pooja

+0

Lo pondría donde necesitaba la animación para comenzar. Por ejemplo, si la animación comienza cuando se muestra la vista, puede hacerlo en el método viewWillAppear: (no olvide llamar al método de la superclase). Si desea que un UIImage (o cualquier otra clase de UIView) se tambalee, esa sería la 'vista' especificada en el código. – TigerCoding

+0

gracias por su respuesta rápida, está funcionando bien también ... pero estoy buscando algo de animación fina como inicio de pantalla de pantalla pequeña a pantalla completa como acercar o alejar o alguna animación diagonal como lo estamos haciendo en la presentación ppt. Espero que me consigas ... pls ayúdame si sabes esto gracias – Pooja

1

Si se refiere a íconos en la pantalla principal de iOS, no creo que alguna vez sea posible.

Por supuesto, si se refiere a íconos dentro de su aplicación, puede hacer lo que quiera.

+0

sí lo quieren animación en mi aplicación, pero cómo hacer que no sé – Pooja

+0

Si el icono simplemente se mueve, gira o escala (como ondulación), entonces UIKit proporciona suficiente funcionalidad para que lo haga. Cree un objeto UIView (posiblemente un UIImageView) para cada icono y realice cambios en la propiedad de su marco dentro de un bloque de animación utilizando el método de clase 'animateWithDuration' de UIView. Un ejemplo es el Listado 4-1 y 4-2 de la Guía de programación de vistas de Apple para iOS. – MHC

10

con bloques (iOS 4) que se vería así:

#define RADIANS(degrees) ((degrees * M_PI)/180.0) 

    CGAffineTransform leftWobble = CGAffineTransformRotate(CGAffineTransformIdentity, RADIANS(-2.0)); 
    CGAffineTransform rightWobble = CGAffineTransformRotate(CGAffineTransformIdentity, RADIANS(2.0)); 

    cell.transform = leftWobble; // starting point 
    cell.deleteButton.hidden = NO; 

    [UIView animateWithDuration:0.125 delay:0 options:(UIViewAnimationOptionRepeat | UIViewAnimationOptionAutoreverse) animations:^{ 
     cell.transform = rightWobble; 
    }completion:^(BOOL finished){ 
    }]; 
+3

Creo que se podrían agregar 2 cosas. | UIViewAnimationOptionAllowUserInteraction si el botón es un elemento secundario de la vista que ejecuta la animación. // eliminar la animación de oscilación por cualquier razón [self.view.layer removeAllAnimations]; importando #import jarryd

Cuestiones relacionadas