2010-08-20 7 views
5

Soy un desarrollador experimentado, pero relativamente nuevo en iOS.Aplicación de solo paisaje de iPad que no responde a toques cerca de la parte inferior de la pantalla

Tengo algunos problemas con una aplicación para iPad, donde mis vistas no responden a los toques de botón en el tercio inferior de la pantalla. Los toques en otros botones funcionan bien, así que sé que mis puntos de vista se conectan correctamente cuando se cargan (los he creado en IB). Obtengo el mismo comportamiento tanto en el simulador como en el dispositivo.

Esta es una aplicación orientada solo al paisaje, y estoy cargando vistas usando [NSBundle LoadNibNamed:]. Esta fue la única parte no trivial de la aplicación, y creo que me he saltado por todos los aros correspondientes:

  • Añadido inicial Interfaz de Línea de Orientación a mi .Plist
  • Diseñado mis puntos de vista en orientación horizontal en IB
  • Agregado shouldAutoRotateToInterfaceOrientation a mi vista de nivel superior que sólo volver SI para orientaciones paisaje

la orientación horizontal puede no estar relacionada, pero pensé que debería mencionar que, puesto que era el único que he encontrado una poco wonky para construir, una Y veo desde las tablas que otras personas también han encontrado esta problemática ..

¿Alguien tiene alguna idea?

Gracias.

+1

¿Su (contenido) vista es lo suficientemente alta? Esto sería típico para vistas demasiado pequeñas. Establece el color de fondo como algo obvio y comprueba si tu vista es la que realmente esperas. - Y asegúrate de que no esté cubierto por nada más. – Eiko

+0

La vista y la vista que contiene son el tamaño completo de la pantalla. La vista (contenida) también contiene una imagen del tamaño completo, que se muestra correctamente, hasta el fondo. Todos los botones (alto y bajo en la pantalla) están en frente de la imagen. – AndrewCr

Respuesta

1

Resulta que los límites de mi vista se configuraron en pantalla completa, pero el marco no. Al establecer explícitamente el marco, pude hacerlo funcionar.

2

Es muy probable que sus máscaras de realineación no estén configuradas correctamente. Esto significa que los límites de la vista no cambian para coincidir con la ventana. Los toques solo se detectan dentro de los límites de la vista superior de una vista, por lo que si tiene un botón que se encuentra fuera de los límites de su supervista, no recibirá ningún toque.

Para una prueba rápida, intente configurar el color de fondo de su vista y vea si la vista se extiende correctamente hasta la parte inferior de la pantalla.

+0

La vista (y su vista que lo contiene) son ambas del tamaño completo de la pantalla. La vista también contiene una imagen del tamaño completo y la imagen completa se muestra correctamente. Además, puedo ver los botones, ¿eso no quiere decir que están dentro de los límites de la vista? – AndrewCr

+3

No, no es así. El valor predeterminado para la propiedad UIView clipsToBounds está establecido en NO, lo que permite que cualquier subvista se muestre fuera de los límites de la vista. Es por eso que la prueba de color de fondo es útil: le permite ver visualmente dónde están realmente en pantalla los límites de una vista. –

1

Si sus aplicaciones, en la pantalla de su aplicación, no responderán al tacto, simplemente cambie la orientación. Lo mantuve en modo horizontal la mayor parte del tiempo, dejaron de responder, cuando roté el ipad comenzaron a responder de inmediato.

Cuestiones relacionadas