2011-07-16 15 views
5

En mi proyecto estoy haciendo la siguiente actividad en UIImageView 1.) gírelo 2.) muévalo 3.) amplíelo. Mi proyecto también tiene un botón llamado "Nuevo" que restablecerá todas las configuraciones de la aplicación. Mi problema es que si giré la imagen y hago clic en el botón nuevo, la configuración de UIImageVIew no cambia. Puede alguien tener alguna idea. Gracias de antemanoCómo restablecer la propiedad transformar UIImageView

-(void)rotate:(id)sender { 

    if([(UIRotationGestureRecognizer*)sender state] == UIGestureRecognizerStateEnded) { 

     lastRotation = 0.0; 
     return; 
    } 

    CGFloat rotation = 0.0 - (lastRotation - [(UIRotationGestureRecognizer*)sender rotation]); 

    CGAffineTransform oldTransform = [(UIPinchGestureRecognizer*)sender view].transform; 
    CGAffineTransform newTransform = CGAffineTransformRotate(oldTransform,rotation); 

    [[(UIRotationGestureRecognizer*)sender view] setTransform:newTransform]; 

    lastRotation = [(UIRotationGestureRecognizer*)sender rotation]; 
} 

código anterior que estoy utilizando para la rotación.

+0

Restablecer el sentido ? La imagen se girará de nuevo a la posición original, ¿no? – booleanBoy

+0

Por favor, publique un poco de nuestro código ..... Podríamos ayudarlo a continuación, – booleanBoy

+0

@iphoneFreak gracias por su respuesta. Sí lo es. – Rahul

Respuesta

12

Si imageView es su UIImageView objeto, restablecer la propiedad transform se realiza utilizando,

imageView.transform = CGAffineTransformIdentity; 

Además, se puede acortar el método rotate: un poco si no está utilizando lastRotation en cualquier otro lugar.

-(void)rotate:(UIRotationGestureRecognizer *)gesture { 
    UIView * view = gesture.view; 
    view.transform = CGAffineTransformRotate(view.transform, gesture.rotation); 
    gesture.rotation = 0; 
} 
+2

en swift 3, se ha cambiado a imageView.transform = CGAffineTransform.identity; –

0

Para otro ejemplo práctico Swift para aquellos que estén interesados, yo era capaz de construir fuera de ejemplo de Deepak para girar una imagen, a continuación, invertir la rotación mediante el uso de una extensión para UIImageView

extension UIImageView { 

    func rotateCounterClockwise() { 
     UIView.animateWithDuration(0.3, animations: { 
      self.transform = CGAffineTransformMakeRotation(CGFloat(-M_PI)) 
    }) 
} 

    func rotateToOriginal() { 
     UIView.animateWithDuration(0.3, animations: { 
      self.transform = CGAffineTransformIdentity 
    }) 
} 

} 
Cuestiones relacionadas