2010-05-05 18 views
11

Estoy probando una aplicación en el simulador de iPad y la necesito para iniciar mi aplicación en la posición en que se encuentra el simulador, pero cada vez que ejecuto la aplicación, el simulador gira a vertical.simulador de ipad girando

¿Hay alguna manera de detener este comportamiento?

gracias.

= = = =

Tiempo de redacción: he descubierto ahora que si vuelvo NO en shouldAutorotateToInterfaceOrientation, el problema se detiene. Pero esto es una locura porque shouldAutorotateToInterfaceOrientation debería rotar la interfaz para que coincida con la posición del iPad, y no al contrario.

Respuesta

2

El iPad admite múltiples imágenes de inicio (a diferencia de los iPhones singular default.png) para que una aplicación se pueda iniciar en todas las rotaciones. Specifics here

Supongo que te faltan las nuevas (por defecto-landscape.png etc.) de modo que cuando la aplicación se carga solo puede encontrar la pantalla de carga vertical y por lo tanto activa una rotación (y el simulador responde girando a retrato). Cuando tiene shouldAutorotateToInterfaceOrientation return NO, ¿todavía no puede encontrar una imagen de paisaje pero no permite que la rotación surta efecto?

+1

No tengo una imagen de inicio, la aplicación es liviana y parece rápida. El problema es que Apple informa que aparece un error cuando la aplicación se inicia cuando el dispositivo está en el paisaje. Dicen que la aplicación se inicia en retrato. Como vivo en Europa y los desarrolladores extranjeros aparentemente son ignorados por Apple, no tengo un dispositivo real para probar. Entonces, estoy tratando de ver el error en el simulador. Luego giro el simulador y lance la aplicación. Inmediatamente el simulador regresa al retrato, lo que es bastante molesto, especialmente porque no estoy estableciendo ninguna orientación. – SpaceDog

+0

Es un problema de .plist. Si el orden de UISupportedInterfaceOrientations es diferente, el dispositivo se autorrotará al inicio con una orientación diferente. Ver la respuesta de Hugh. –

1

Una vez puesto en Landscape, el sim permanece en Landscape siempre que no salga del simulador. Puede volver a ejecutar su aplicación y comenzará en Paisaje (bueno, excepto internally it is initially in portrait).

+1

gracias, pero este no es el caso para mí. No estoy configurando la aplicación para que esté en retrato y el simulador siempre se inicia en retrato. Incluso si configuro la aplicación en el paisaje, nada cambia. Todavía está en retrato. Bastante molesto. – SpaceDog

+0

Descubrí ahora que si devuelvo NO en shouldAutorotateToInterfaceOrientation, el problema se detiene. Pero esto es una locura porque shouldAutorotateToInterfaceOrientation debería rotar la interfaz para que coincida con la posición del iPad, y no al contrario. – SpaceDog

+0

Desafortunadamente no se puede hacer nada. Sin embargo, el simulador de iPad funciona bien. – Mugunth

1

no han intentado antes ... pero tal vez si cambiar el archivo .Plist añadiendo

<key>UIInterfaceOrientation</key> <string>UIInterfaceOrientationPortrait</string>

sé que funciona en el iPhone.

+0

gracias, pero Apple está pateando a todos en el trasero para establecer una orientación específica. Debes descubrir la orientación del dispositivo cuando se inicia la aplicación y establecer la orientación de la aplicación en consecuencia. Esto es hermoso, pero hay un pequeño problema, uno leve, las notificaciones de orientación son terribles y solo detectan una orientación si giras el dispositivo. no la orientación en que está el dispositivo si no se produjo rotación. Sin mencionar que las notificaciones toman tiempo para funcionar y tienes que retrasar tu aplicación hasta que tengas una lectura confiable .... – SpaceDog

+0

... (continuando) ... incluso usando el acelerómetro para descubrir que la orientación no funciona bien, porque lleva tiempo tener una lectura confiable también. Olvidemos también el hecho de que el simulador no tiene acelerómetro y gira cuando la vista gira. Un desastre total. – SpaceDog

+0

bien ... ¿el problema ocurre en la realidad? – user333593

1

Solo para confirmar, estoy de acuerdo con todo lo que dice arriba Mike pero parece que puede llegar desde el ángulo equivocado.

Uno de los puntos clave del iPad (según Apple) es que las aplicaciones deben ser totalmente funcionales en cualquier orientación. Si lees el Apple Speil sobre cómo aprovechar al máximo la IU adicional del iPad sobre el iPhone/iPod Touch, aquí encontrarás muchos detalles.

Si usa "cmd" + las flechas izquierda/derecha, debería poder orientar el simulador. Esto le permitirá simular exactamente lo que experimentaría un usuario si inicia su aplicación en la orientación incorrecta de la que ha codificado.

Te recomiendo que inviertas la modificación del código que hiciste (shouldAutorotateToInterfaceOrientation - NO) y codifique tu aplicación para mostrarla en cualquier orientación. Si debe codificar solo uno, sospecho que un usuario se verá obligado a rotar el dispositivo para rectificar el problema.

Sé que está interesado en probar su aplicación de paisaje, pero no estoy al tanto de la forma en que el simulador de iPad se puede forzar a comenzar en Landscape sin que usted mencione anteriormente, lo cual como ya ha aconsejado, vence el punto. Sospecho que tienes las flechas "cmd" + "izquierda/derecha".

4

Tuve este problema al ejecutar la aplicación de prueba GHUnit en el simulador.Me fijo añadiendo esto al archivo info.plist:

<key>UISupportedInterfaceOrientations~ipad</key> 
<array> 
    <string>UIInterfaceOrientationPortrait</string> 
    <string>UIInterfaceOrientationPortraitUpsideDown</string> 
    <string>UIInterfaceOrientationLandscapeLeft</string> 
    <string>UIInterfaceOrientationLandscapeRight</string> 
</array> 

Si edita esta usando el editor plist de Xcode, asegúrese de que tiene la opción "Mostrar primas Claves/Valores" encendidos.

+0

Derecho encendido. Eso también lo solucionó yo –

+0

El problema es el orden. Si su UIInterfaceOrienationPortrait no es el primero, va a cambiar la orientación inicial del iPhone/iPad. Tuve este problema al presionar los botones en la pestaña de Configuración del proyecto de información que activa/desactiva las orientaciones. Al eliminar la configuración de orientación en .plist, se volvió a colocar en el orden correcto. –

1

¡Creo que lo tengo!

Si cierra su simulador de (como Cmd +Q), entonces se inicia siempre en el modo vertical.

Pero si cierra su aplicación presionando el botón de inicio en el simulador, entonces recuerda la última orientación en el siguiente inicio de su aplicación.

Cuestiones relacionadas