UIInterfaceOrientationLandscapeLeft y UIInterfaceOrientationLandscapeRight están invertidos?
-
05-07-2019 - |
Pregunta
La documentación dice:
UIInterfaceOrientationLandscapeLeft
El dispositivo está en modo horizontal, con el dispositivo en posición vertical y el botón de inicio en el lado derecho.
UIInterfaceOrientationLandscapeRight
El dispositivo está en modo horizontal, con el dispositivo en posición vertical y el botón de inicio en el lado izquierdo.
Sin embargo, los estoy revirtiendo exactamente. ¿Puede realmente haber un error en el SDK o me estoy volviendo loco?
Código:
+ (NSString *)NSStringFromUIInterfaceOrientation:(UIInterfaceOrientation)o
{
switch (o) {
case UIInterfaceOrientationPortrait: return @"UIInterfaceOrientationPortrait";
case UIInterfaceOrientationPortraitUpsideDown: return @"UIInterfaceOrientationPortraitUpsideDown";
case UIInterfaceOrientationLandscapeLeft: return @"UIInterfaceOrientationLandscapeLeft";
case UIInterfaceOrientationLandscapeRight: return @"UIInterfaceOrientationLandscapeRight";
}
return nil;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
NSLog(@"Should: %@", [[self class] NSStringFromUIInterfaceOrientation:toInterfaceOrientation]);
return YES;
}
Pego el código anterior en RootViewController.m de la plantilla de aplicación basada en navegación predeterminada.
Seguimiento: informado como error 7216046 .
Solución
¿Estás seguro de que estás leyendo los documentos correctamente? Observe que la posición del botón de inicio y el valor de orientación son opuestos , es decir, UIInterfaceOrientationLandscapeLeft
implica el botón de inicio en el lado a la derecha y UIInterfaceOrientationLandscapeRight
implica el botón de inicio en el lado izquierdo . Asegúrese de que está girando su dispositivo para verificarlo correctamente.
Editar: He confirmado el problema presentado en la pregunta original. Parece un error, a menos que también me esté perdiendo algo.