2012-09-13 20 views
25

Estoy tratando de modificar una aplicación para que funcione con la nueva pantalla de iPhone 5, 4". He agregado la nueva imagen de inicio, "[email protected]". Después de eso, todo parecía estar bien. La parte media de mis vistas está cambiando de tamaño, está bien.iPhone 5 (4 ") barra de herramientas inferior no responde

Sin embargo, he notado que en una vista donde tengo una barra de herramientas inferior, los botones en la barra de herramientas no responden. Se ve bien, pero tocar botones no hace nada. de ejecución de códigos misma en el simulador con pantalla de 3.5" funciona bien.

¿Alguna idea?

Este punto de vista está dentro de un controlador de navegación. Consiste en una vista de tabla y barra de herramientas. El tableview se establece en cambiar el tamaño de la altura.

+0

¿Inspeccionó los marcos de la barra de herramientas y su supervista? Un escenario donde esto sucede es si la vista secundaria se encuentra fuera de los límites de su supervista de contenedor. La vista secundaria (o la barra de herramientas en su caso) aún se muestra porque la vista principal no está cortando el contenido fuera de sus límites. Una manera fácil de inspeccionar toda la jerarquía es llamar al método oculto 'recursiveDescription' en una vista mientras se depura como en' po [someParentView recursiveDescription] '. – Anurag

+0

Creo que eso está sucediendo, pero no entiendo por qué. Probando su sugerencia, el tamaño parece correcto hasta que llegue a UIWindow donde dice 320x480. Todo a continuación tiene 320x568. – David

+0

Muchas gracias Anurag, su comentario me llevó a resolver mi problema similar. – lppier

Respuesta

72

que tenían el mismo problema y se dio cuenta de que mi window.frame.size.height seguía siendo 480,0

resuelto este problema al permitir pantalla completa en el lanzamiento para el archivo MainWindow.xib:.

Pasos:

  1. abierto MainWindow.xib
  2. Seleccione la ventana elemento
  3. Abra el inspector Atributos
  4. Bajo Ventana sección, permiten pantalla completa en el lanzamiento
+0

+1 ¡Funciona como un encanto! ¡Gracias! – Mike

+0

+1 Ese fue mi problema también. ¡Gracias! – hyperspasm

+0

Impresionante. Gracias Gracias gracias. – David

0

Mi proyecto no estaba utilizando MainWindow.xib. He añadido lo siguiente a viewDidLoad en vista controladores de todas las pantallas:

self.view.frame = [UIScreen mainScreen].bounds; 
+0

no funcionó, descubra cómo activar la bandera para su ventana principal en IB .. resuelve el problema. – Gmu

1

que su proyecto tiene MainWindow.xib entonces usted debe tener para establecer todas las imágenes de salpicaduras con el fin de que compatibles aplicación para la exhibición del iPhone 5.

4

hay dos solución a este problema:

  1. Si está utilizando MainWindow siga estos pasos:

    a. Seleccione MainWindow.xib b. Seleccione la opción 'Pantalla completa al iniciar' desde Windows disponible en Attributes Inspector.

  2. Si su aplicación no contiene MainWindow, simplemente agregue 'Self.View.Frame = [UIScreen mainScreen] .bounds' en ViewDidLoad.

+0

La segunda opción funcionó para mí. Muchas gracias. – paachi

0

añadir

self.window.frame = [UIScreen mainScreen].bounds; 

en este método:

-(BOOL)application:(UIApplication *)application 
didFinishLaunchingWithOptions:(NSDictionary*)options 

en su archivo %your app name%AppDelegate.m

Cuestiones relacionadas