El button UIB no responde cerca de la parte inferior de la pantalla en el iPad.

un button UIB no responde a ningún toque cuando está ubicado cerca de la parte inferior de la pantalla en el iPad (cerca del button de inicio). Tiene habilitado el tacto y está admitiendo events, pero nunca se establece ninguna respuesta en el objective. He comprobado la jerarquía de la vista y definitivamente está en la parte superior. No está cubierto por la barra de menus.

Esto sucede solo en iPad y solo si está en la parte inferior, no tengo ningún problema con el iPhone, ¿el código es el mismo para ambos dispositivos?

¿Alguien tiene idea de lo que podría estar pasando?

Acabo de tener un problema similar con una aplicación iPad que no responde excepto en el cuarto superior izquierdo de la pantalla, pero con una aplicación universal que carga la window principal desde MainWindow.xib.

Como la aplicación es universal y no tiene dos variantes para los .xibs, el tamaño de la window principal en el xib es el iPhone. Cuando se ejecuta en el iPad, esto no está visible, ya que de forma pnetworkingeterminada, la propiedad clipsToBounds de UIWindow ("Suba clips" en el inspector XCode) es NO, lo que significa que las subvistas pueden dibujar fuera de los límites de la window y, por lo tanto, aparecer visualmente a pantalla completa para verlo, simplemente establezca clipsToBounds en YES en la UIWindow; ayuda a comprenderlos).

Para asegurarse de que la window obtiene límites de pantalla completa cuando se carga desde su .xib, hay una opción llamada "Pantalla completa al iniciar" en las properties XCode para Windows. Tenga en count que esto no corresponde a una propiedad de API pública de UIWindow, por lo que es algo que se pasa por alto fácilmente al simplemente examinar la documentation de la class UIWindows.

Sin embargo, esto se resalta en "Ver la Guía de progtwigción para iOS", en la sección "Windows", en "Crear Windows en el generador de interfaces" en un cuadro especial con la label "Importante" …

Bien, entonces me di count de cuál era el problema.

Fueron las dimensiones de UIWindow. He mezclado el ancho y la altura (creo el UIWindow programáticamente, solo para que quede claro). Como establecí los valores de las subvistas correctas, se mostraron correctamente, pero no pude get events táctiles donde no había una window debajo. Solo para estar seguro, estoy usando esto de ahora en adelante:

window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];