Mostrar nuestra aplicación en horizontal (apaisado). Nivel Risto.
23 June 2008

Tras una serie de comentarios que aparecieron en el foro, vi interesante escribir este artículo para explicar los pasos que tenemos que seguir para mostrar las vistas de nuestra aplicación en horizontal, independientemente de la posición y/o rotación de nuestro iPhone / iPod Touch.
Tan solo tenemos que seguir dos pasos:
1. Obligar a que nuestra aplicación muestre la orientación que nosotros queramos (derecha - izquierda) gracias a la clase UIDevice, independientemente de la posición y/o orienteación en la que nos encontremos.
2. Controlar en las vistas que queramos, mediante el método shouldAutorotateToInterfaceOrientation, que nuestra aplicación no se rote automáticamente cuando giremos nuestro dispositivo.
De esta forma, nuestra aplicación es cargada con una orientación fija y no dejaremos que se cambie automáticamente.
PASO A PASO
1. En nuestra clase delegada de nuestra aplicación, en el punto de entrada applicationDidFinishLaunching (podemos hacerlo en otro método que nosotros consideremos como punto de entrada), al final del mismo método, tras haber cargado las vistas necesarias en la ventana de nuestra aplicación, definiremos la orientación fija de la siguiente manera:
[cpp]
- (void)applicationDidFinishLaunching:(UIApplication *)application {
...
// Usaremos UIInterfaceOrientationLandscapeLeft o UIInterfaceOrientationLandscapeRight a nuestro gusto
[[UIDevice currentDevice] setOrientation:UIInterfaceOrientationLandscapeLeft];
}
[/cpp]
2. En todas y cada una de las clases que gestionan nuestras vistas ( en todas las que nosotros queramos, por supuesto ) tenemos que detectar cuando el dispositivo se gire e impedir que las vistas lo hagan cuando sea en vertical:
[cpp]
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation==UIInterfaceOrientationLandscapeLeft ||
interfaceOrientation==UIInterfaceOrientationLandscapeRight) ? YES : NO;
}
[/cpp]

Deja un comentario