descargar - ¿Cómo verificar la orientación del dispositivo mediante programación en iPhone?
itunes (6)
Debe colocar [[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
en su AppDelegate didFinishLaunchingWithOptions
Luego, en cualquier lugar de su aplicación, puede obtener la orientación actual con:
UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];
Y prueba la orientación con:
UIInterfaceOrientationIsPortrait(orientation)
UIInterfaceOrientationIsLandscape(orientation)
Posible duplicado:
orientación del iPhone
¿Cómo verificar la orientación del dispositivo en cualquier momento desactivado programáticamente en iPhone?
Gracias.
Intentalo.
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
if ( ([[UIDevice currentDevice] orientation] == UIDeviceOrientationPortrait) )
{
// do something for Portrait mode
}
else if(([[UIDevice currentDevice] orientation] == UIDeviceOrientationLandscapeRight) || ([[UIDevice currentDevice] orientation] == UIInterfaceOrientationLandscapeLeft))
{
// do something for Landscape mode
}
Pruebe también:
UIInterfaceOrientationIsPortrait(orientation)
y
UIInterfaceOrientationIsLandscape(orientation)
También puedes verificar dentro de la función
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// Return YES for supported orientations
if(interfaceOrientation == UIInterfaceOrientationPortrait || interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown)
{
//do for portrait
}
else
{
//do for Landscape
}
return (interfaceOrientation == UIInterfaceOrientationLandscapeRight ||
interfaceOrientation == UIInterfaceOrientationPortrait ||
interfaceOrientation == UIInterfaceOrientationLandscapeLeft ||
interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown);
}
-[UIViewController interfaceOrientation]
Sin embargo, es posible recuperar la orientación del dispositivo, independientemente de la orientación actual de la interfaz:
[[UIDevice currentDevice] orientation]
Lea la documentación para obtener más información, sin embargo, necesita hacer algunas cosas más para que funcione.
Aquí están las macros UIDeviceOrientationIsLandscape
y UIDeviceOrientationIsPortrait
así que más bien revisando por separado puedes hacerlo así ...
if (UIDeviceOrientationIsLandscape([UIDevice currentDevice].orientation))
{
// code for landscape orientation
}
O
if (UIDeviceOrientationIsPortrait([UIDevice currentDevice].orientation))
{
// code for Portrait orientation
}