Pregunta

Tengo un problema de orientación realmente extraño. Tengo una secuencia de controladores de vista bajo un controlador de navegación. Uno de ellos puede tomar cualquier orientación. Cuando salgo de la orientación, tengo que usar setorientation. Lo curioso es que la rotación tiene lugar a medida que la transición ocurre a la página siguiente. Esto normalmente no es un problema, excepto por un solo caso, desde UideviceorientationPortraitUpsidido, hasta que todos mis elementos montados superiores migran aproximadamente un octavo de una página.

Hay tres formas en que creo que podría arreglarlo:

  1. De alguna manera, separe la setorientación de mi llamada de controlador de visión push (por lo que la nueva vista no necesita voltear)
  2. Establezca mis elementos para anclarse en la parte superior del dispositivo de una mejor manera (lo comprobé y parecen estar)
  3. Restablezca la dimensión Y en los elementos del método ViewDidload, pero eso parece incorrecto.

Aquí está mi empuje la nueva vista sobre el código de pila:

[[UIDevice currentDevice] setOrientation:UIInterfaceOrientationPortrait]; 

ResultSelect_ViewController *resultSelect = [[ResultSelect_ViewController alloc] initWithNibName:@"ResultSelect" bundle:nil];
[self.navigationController pushViewController:resultSelect animated:YES];

¿Alguien más le resulta extraño que el simulador no le permita probar el comportamiento al alza del comportamiento del retrato?

¿Fue útil?

Solución 3

La forma de evitar el error de rotación al girar desde el lado al alza hasta el retrato no es hacerlo. En cambio, gire dos veces deteniéndose a la mitad (digamos UIDeviceOrientationLandscapeRight). La cuestión del tiempo no es usar el sueño, sino implementar didRotateFromInterfaceOrientation y dispare la segunda rotación (o empuje a la siguiente vista) en ese punto.

Otros consejos

Solo para tener en cuenta: Apple comenzó a usar un analizador estático (tal vez incluso dinámico) y Bloquea aplicaciones que utilizan métodos privados (p.ej setOrientation:) de ingresar a la tienda. Le pasó a un amigo mío la semana pasada.

¿Ha intentado construir con iPhone OS 3.0 y confiar solo en shouldRotateToInterfaceOrientation:? El comportamiento parece estar arreglado (en comparación con la implementación en 2.x) y, al menos para mí, hace el trabajo.

Por lo general, no apoyaría la orientación al revés. Ese parece ser el comportamiento estándar de la aplicación de Apple y tiene sentido. El caso al revés no es realmente útil y puede causar confusión al usuario.

Tuvimos un problema similar en el que las subvisiones migrarían por la vista principal al voltear el caso al revés. Simplemente dejamos de apoyar al revés y eso básicamente resolvió el problema.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top