2008-10-28 7 views

Respuesta

20

La forma más sencilla de hacerlo es usando la propiedad de transformar la capa:

float angle = M_PI; //rotate 180°, or 1 π radians 
layer.transform = CATransform3DMakeRotation(angle, 0, 0.0, 1.0); 

El primer argumento de la función CATransform3DMakeRotation es la cantidad de girar, en radianes. Los siguientes tres describen el vector alrededor del cual girar. Esto describe un vector en el eje z, tan efectivamente perpendicular a la pantalla. Esto rotará la capa para que esté al revés.

1

Utilizaría la propiedad de transformación de la vista. Hay un código de ejemplo para hacer girar la vista en la Guía de Programación iPhone OS, bajo Launching in Landscape Mode

0

Usted debe mirar MoveMe ejemplo de Apple para saber cómo moverse por una capa a base de toque. También aplica algunas transformaciones de escala a medida que lo hace, por lo que debería servir como un ejemplo razonable de aplicar transformaciones de rotación.

11

que terminé haciendo de esta manera:

CGAffineTransform transform = CGAffineTransformMakeRotation(angle); 
[[self viewWithTag:999] setTransform:transform]; 

Tenga en cuenta que el ángulo en radianes.

+0

En su solución, está modificando la transformación de la vista, no la capa. Solo un fyi. –

+0

45 grados = M_PI/4, 90 grados = M_PI/2 http://math.rice.edu/~pcmi/sphere/drg_txt.html –

Cuestiones relacionadas