Domanda

Così oggi a implementare modalità orizzontale per la mia app. Si tratta di un'applicazione OpenGL ES. Ho ruotato di 90 gradi. La prima cosa che noto è che gli ultimi non funzionano più. Il motivo è che la chiamata a locationInView sta ancora dando le coordinate come se l'applicazione è in modalità verticale.

Come fanno le persone di solito affrontare questo? Devo scrivere la mia versione di locationInView di prendere in considerazione l'orientamento del telefono? O c'è un modo migliore?

È stato utile?

Soluzione

Questo è il comportamento di default. Se l'iPhone è in modalità ritratto o paesaggio le coordinate dello schermo non cambiano, quindi avrai bisogno per regolare che nella vostra applicazione.

Altri suggerimenti

fondamentalmente due approcci, ognuno con i propri inconvenienti / attività.

  1. Si potrebbe collegare la GLview ad un viewcontroller e lasciarlo gestire gli eventi di rotazione e la finestra traducendo in coordinate "Visualizza". Questo è il metodo più semplice, ma le prestazioni di disegno potrebbe essere compromessa.

  2. Gestisci la rotazione da soli. Avrai bisogno di aggiungere i propri metodi per trattare con le rotazioni, spinta dalla notifica UIDeviceOrientationDidChangeNotification. Questo metodo dovrebbe includere la GL comandi per ruotare la matrice, tradurre tocchi, etc ..

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top