ios - framework - cocoa touch español
iOS 9 soportadoInterfazOrientaciones no funciona (3)
Entonces, el problema era que había definido las orientaciones permitidas en info.plist
que aparentemente anula todo lo que haces en cualquier otro lugar durante el proyecto.
Para corregir el problema, info.plist
las entradas de info.plist
y las info.plist
en la configuración del proyecto. Ahora todo funciona como se espera.
Tengo un UIViewController
con el siguiente código:
- (BOOL) shouldAutorotate {
return NO;
}
-(NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationPortrait;
}
No estoy usando un UINavigationController
. Cuando se UIViewController
este UIViewController
, el dispositivo seguirá girando a horizontal. Estoy apuntando a iOS 9, ¿cuál es el problema aquí?
He intentado muchas soluciones, pero la respuesta correcta con la solución de trabajo es:
iOS 8 y 9, no es necesario editar info.plist.
- (BOOL) shouldAutorotate {
return NO;
}
- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
return (UIInterfaceOrientationPortrait | UIInterfaceOrientationPortraitUpsideDown);
}
UIInterfaceOrientaciónDesconocido
La orientación del dispositivo no puede ser determinada.
UIInterfaceOrientationPortrait
El dispositivo está en modo retrato, con el dispositivo en posición vertical y el botón de inicio en la parte inferior.
UIInterfaceOrientationPortraitUpsideDown
El dispositivo está en modo retrato pero al revés, con el dispositivo en posición vertical y el botón de inicio en la parte superior.
UIInterfaceOrientationLandscapeLeft
El dispositivo está en modo horizontal, con el dispositivo en posición vertical y el botón de inicio en el lado izquierdo.
UIInterfaceOrientationLandscapeRight
El dispositivo está en modo horizontal, con el dispositivo en posición vertical y el botón de inicio en el lado derecho.
No creo que la respuesta de Bryan funcione, porque cambiar las orientaciones en la configuración del proyecto también cambia la info.plist
como comentó @mrhangz.
Si el problema es solo para iOS9, probablemente se deba a la nueva función de iOS9 en iPad llamada Split view
. El iOS9 habilita la Split view
de manera predeterminada en un dispositivo iPad en particular, consulte los documentos de Apple here .
La split view
obligó a su aplicación a admitir todas las orientaciones en todas las vistas una vez que se adoptó. Por lo tanto, si configura todas las orientaciones ya sea en info.plist
o en la configuración general de destino, la split view
se admite de manera predeterminada, lo que ignorará la configuración de orientación aunque se supportedInterfaceOrientations
En su viewController y soporte todas las orientaciones.
Como el documento escrito, si marcó Requires full screen
en la configuración de destino, entonces su aplicación no admitirá la split view
. Ahora puede controlar las orientaciones en el código nuevamente.