2010-08-20 20 views
5

Sono uno sviluppatore esperto, ma relativamente nuovo per iOS.L'app iPad solo in orizzontale non risponde ai tocchi vicino alla parte inferiore dello schermo

Ho problemi con un'app per iPad, in cui le mie visualizzazioni non rispondono ai tocchi dei pulsanti nella parte inferiore del terzo dello schermo. Tocca su altri pulsanti funzionano bene, quindi so che i miei punti di vista si collegano correttamente quando sono caricati (li ho creati in IB.) Ho lo stesso comportamento sia sul simulatore che sul dispositivo.

Questa è un'app solo per orientamento orizzontale e sto caricando le viste utilizzando [NSBundle LoadNibNamed:]. Questa è stata l'unica parte non banale di App, e credo di aver saltato attraverso tutti i cerchi appropriate:

  • Aggiunto iniziale Interface Orientamento alla mia .plist
  • Progettato le mie opinioni con orientamento orizzontale in IB
  • Aggiunto shouldAutorotateToInterfaceOrientation alla mia vista di primo livello che restituiscono solo sI per gli orientamenti del paesaggio

l'orientamento orizzontale non può essere correlato, ma ho pensato che avrei dovuto dirlo, dato che era l'unica cosa che ho trovato un poco stupido da costruire, a Io vedo dalle schede che anche altre persone hanno trovato questo problematico.

Qualcuno ha qualche idea?

Grazie.

+1

La visualizzazione (contenente) è sufficientemente alta? Questo sarebbe tipico per le visualizzazioni troppo piccole. Imposta il colore di sfondo su qualcosa di ovvio e controlla se la tua vista è effettivamente dove ti aspetti che sia. - E assicurati che non sia coperto da nient'altro. – Eiko

+0

La vista e la vista contenente sono le dimensioni complete dello schermo. La vista (contenuta) contiene anche un'immagine a dimensione intera, che viene visualizzata correttamente, fino in fondo. Tutti i pulsanti (alto e basso sullo schermo) si trovano di fronte all'immagine. – AndrewCr

risposta

1

Si scopre che i limiti della vista erano impostati su schermo intero, ma il fotogramma no. Impostando esplicitamente il frame, sono riuscito a farlo funzionare.

2

Più che probabile, le maschere di autoresizzazione non sono impostate correttamente. Ciò significa che i limiti della vista non cambiano per corrispondere alla finestra. Tocchi vengono rilevati solo all'interno dei limiti della vista eccellente di una vista, quindi se si dispone di un pulsante che si trova al di fuori dei limiti della sua superview, non otterrà alcun tocco.

Per un test rapido, provare a impostare il colore di sfondo della vista e vedere se la vista si estende correttamente nella parte inferiore dello schermo.

+0

La vista (e la relativa vista di contenimento) sono entrambe le dimensioni dello schermo. La vista contiene anche un'immagine di dimensioni complete e l'intera immagine viene visualizzata correttamente. Inoltre, posso vedere i pulsanti, quindi non significa che sono all'interno dei limiti della vista? – AndrewCr

+3

No, non è così. Il valore predefinito per la proprietà UIView clipToBounds è impostato su NO, che consente a qualsiasi vista secondaria di essere visualizzata al di fuori dei limiti della vista. Ecco perché il test del colore di sfondo è utile: ti permette di vedere visivamente dove i limiti di una vista sono effettivamente sullo schermo. –

1

Se le app, nella schermata dell'app, non rispondono al tocco, è sufficiente modificare l'orientamento. L'ho tenuto in modalità orizzontale per la maggior parte del tempo, hanno smesso di rispondere, quando ho ruotato l'ipad hanno iniziato a rispondere subito.

Problemi correlati