Cómo rotar la imagen con la ubicación u otra

Imagine un UIView con un UIImageView en el medio, y cuando giro el iPhone, la imagen aún mira hacia arriba, significa que cuando giro el iPhone hacia la derecha, UIImageView gira hacia la izquierda en los mismos grados. Había visto algunas aplicaciones como iAngle Meter que usan esta opción, ¿cómo puedo hacer esto?

PD. Solo sé rotar la imagen, uso:

#define M_PI 3.14159265358979323846264338327950288 //pi
#define DEGREES_TO_RADIANS(angle) (angle / 180.0 * M_PI)

- (void)rotateImage: (UIImageView *)image duration:(NSTimeInterval)duration curve:(int)curve degrees:(CGFloat)degrees {
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:duration];
[UIView setAnimationCurve:curve];
[UIView setAnimationBeginsFromCurrentState:YES];

CGAffineTransform transform = CGAffineTransformMakeRotation(DEGREES_TO_RADIANS(degrees));
image.transform = transform;

[UIView commitAnimations];
}

línea de aplicación:

[self rotateImage:logoAnim duration:0.5 curve:UIViewAnimationCurveEaseIn degrees:-30];

Gracias,

preguntado el 28 de julio de 12 a las 22:07

1 Respuestas

Mire el método de UIViewController:

     -(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)orientation
                                             duration:(NSTimeInterval)duration {

     }

Le informará cuándo comenzará la rotación a la orientación que ha habilitado para su aplicación a través de info.plist y en el método -shouldRotateToInterfaceOrientation:.

Respondido 28 Jul 12, 23:07

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.