Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/06/2011, 02:24
vall-k
 
Fecha de Ingreso: abril-2005
Mensajes: 29
Antigüedad: 19 años, 6 meses
Puntos: 1
Obtener orientación inicial del iPad / Splash duradero

Buenos días,

Es la primera vez que me peleo con XCode, así que estoy completamente verde en el tema.
Estoy haciendo una aplicación que simplemente carga un UIWebView, y este carga una web. El problema es que los fondos que ha de cargar (cosas del diseño, no es cosa mía) ocupan unos 600Kb, por lo que tarda en aparecer. Hago una pantalla de Splash inicial (que también ocupa 800Kb), pero esta solo dura hasta que carga la aplicación, que es medio segundo, y luego aún falta que cargue el contenido del UIWebView. Había pensado en poner una imagen (la misma que el Splash) visible, y al cargar 100% el webview ocultarla, y así simularía que el Splash aguanta hasta que carga el contenido, peeeeero el problema es que no soy capaz de obtener la orientación inicial para mostrar una imagen u otra (Portrait, Landscape). He probado en el viewDidLoad con:

UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation] y
UIInterfaceOrientation orientation = [[UIDevice currentDevice] orientation]
Pero las 2, tanto en simulador como en iPad me devuelven 0. He probado en poner en el .list la orientación inicial, pero sigue sin devolver nada. He hecho mil combinaciones y lo he comparado con todas las constantes posibles (UIDeviceOrientation..., UIInterfaceOrientation...) pero nada, el valor devuelto es 0.

Mi pregunta es...
- Alguna idea de como obtener la orientación inicial, que realmente funcione (me parece algo suficientemente básico como para que no sea tan complicado)
- Alguna forma de que un ImageView tenga 2 imágenes diferentes, según es Landscape o Portrait? (no me sirve al capturar el evento de cambio de orientación, ha de ser al cargar la aplicación inicialmente)
- Alguna forma de aguantar el Splash indefinidamente, y luego ocultarlo manualmente en el evento webViewDidFinishLoad?

(No me sirven soluciones tipo "rebaja el peso de las imágenes y tardará menos" ni cargar la imagen en el webView y luego cambiarla, ya que sería cargar 800Kb vía web y estaríamos aún peor)

Cualquiera de estas 3 soluciones me salvarían la vida, hasta que tenga tiempo de aprender lo suficiente como para hacerlo de manera más elegante.
Cualquier otra aportación o rayo de luz será más que bien recibido.

Muchas gracias por vuestro tiempo.
Salud!!