2009-10-04 10 views

Respuesta

1

Esto es lo que puedes probar.

Si desea cambiar la orientación de la vista mientras se toca en la vista, a continuación, siga los pasos

  1. Implementar el método touchesBegan dentro de la vista.

  2. En el método touchesBegan compruebe la orientación actual del dispositivo, [[UIDevice currentDevice] orientation];

  3. Si desea cambiar la orientación a continuación, utilizar el método CGAffineTransformation en la vista como viewRef.transform = CGAffineTransformMakeRotation(angle);

8

Si se establece el geometría de sus elementos ui en Interface Builder, luego asegúrese de configurar los atributos Autosizing en el Inspector de Tamaño (Cmd + 3). A continuación, puede ver cómo se verá la vista después de rotar haciendo clic en el pequeño botón "Girar" en la esquina superior izquierda de la barra de título de su vista en Interface Builder.

Una vez que tenga todo lo que creó, simplemente anular el siguiente método en su ViewController:

public override bool ShouldAutorotateToInterfaceOrientation (UIInterfaceOrientation toInterfaceOrientation) 
{ 
    return true; 
} 

Ahora en el simulador, puede girar todo lo que desee y su interfaz de usuario se auto-adaptación.

+0

¡Gees, no podía creer lo simple que era! :) Esto definitivamente debe marcarse como la respuesta correcta. Gracias. – BruceHill

1

Sólo para que todo el mundo sabe, que ahora está en las vistas objeto de transformación:

View.Transform.Rotate(3.14159f * 0.5f); 

Por todo lo que dotNET tipos como yo que no quieren usar cualquier cosa que sea CGAffineTransform, pensando que va a romper otras cosas , solo inténtalo. Funcionó muy bien para mi instancia. Gire NavigationController.View y todo lo que hay dentro es perfecto.

+0

esto solo gira una vista específica; si está dentro de un UINavigationController, la barra de control de navegación estará en el lado incorrecto de la pantalla. –