Pregunta

Así que hoy implemento el modo horizontal para mi aplicación.Es una aplicación opengl es.Lo giré 90 grados.Lo primero que noto es que los toques ya no funcionan.La razón es que la llamada a locationInView todavía proporciona las coordenadas como si la aplicación estuviera en modo vertical.

¿Cómo suele lidiar la gente con esto?¿Tengo que escribir mi propia versión de locationInView para tener en cuenta la orientación del teléfono?¿O hay un mejor camino?

¿Fue útil?

Solución

Esto es el comportamiento por defecto. Si el iPhone está en vertical u horizontal las coordenadas de la pantalla no cambia, por lo que tendrá que ajustar para que en su aplicación.

Otros consejos

Básicamente dos enfoques, cada uno con sus propios inconvenientes/ventajas.

  1. Puede adjuntar su GLview a un controlador de vista y dejar que maneje eventos de rotación y traduzca las coordenadas de la ventana en coordenadas de "vista".Este es el método más sencillo, pero su rendimiento de dibujo podría verse comprometido.

  2. Gestiona la rotación tú mismo.Deberá agregar sus propios métodos para manejar las rotaciones, impulsados ​​por la notificación UIDeviceOrientationDidChangeNotification.Este método debe incluir los comandos GL para rotar la matriz, traducir toques, etc.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top