Pregunta

El touchesMoved función se comporta de manera diferente en el iPhone y el simulador.

El intervalo de repetición (frecuencia de actualización) de la touchesMoved función es mucho más rápido que simulador. ¿Hay una manera de lidiar con la diferencia?

¿Fue útil?

Solución

A menudo, la gente está encontrando que esto es un problema, ya que están haciendo algo intensiva en el manejador de eventos touchesMoved y cuando llegan con mucha frecuencia, hace que la interfaz que haya un retardo.

Una forma relativamente sencilla de hacer frente a esto es: En primer lugar, en el controlador touchesMoved, almacenar la posición de contacto en una variable que representa la posición de lo que se seguimiento del dedo.

El regreso del manejador touchesMoved inmediatamente. Crear un objeto NSTimer y establecer su controlador de vista como delegado de la misma y tienen que hacer lo que sea moviendo el comportamiento re-dibujo / foto que solía ser en el controlador touchesMoved. De este modo, se obtiene un movimiento casi constante independientemente del tiempo entre los eventos touchesMoved.

Si usted está realmente avanzadas que puede utilizar una costumbre NSRunLoop en lugar de utilizar un temporizador, pero eso es más de lo que puedo explicar aquí :) La idea general es: no estar haciendo todo en los controladores de eventos táctiles

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