2011-08-25 8 views
10

¿Es posible obtener las coordenadas táctiles absolutas de [UIPanGestureRecognizer translationInView]? Estoy trabajando en una aplicación para iPad y he estado buscando mucho para obtener los valores de coordenadas táctiles de UIPanGestureRecognizer.Coordenadas táctiles de UIPanGestureRecognizer

He intentado compensar también el uso de los valores que obtenemos de transaltionInView pero no soy muy capaz de comprender las matemáticas detrás de ella ...

Cualquier sugerencia chicos?

Ravi

Respuesta

17

translationInView es el cambio delta de un gesto. Si mueve su dedo hacia la izquierda en 20 pt, obtendrá (-20.0, 0.0), ya es "absoluto" en ese sentido.

Lo que probablemente quiere decir es que quiere locationInView, que en relación con la vista entregada a través del argumento, incluso si dicha vista no es la que reconoce los eventos. Normalmente, le daría la vista del controlador de vista, o la vista que se encargará del evento, o la subvista que tenga más sentido para su implementación.

Además, tenga en cuenta, si usted necesita el absoluto real, se puede entregar nil a través de los argumentos, y lo devuelve con relación a la ventana (aka. "Absoluta")

Y, si es necesario hacer lógica con otros puntos de vista, puede convertir la coordenada de una vista a otra con los métodos de instancia UIView: convertRect:fromView:, convertRect:toView:, convertPoint:fromView:, convertPoint:toView:. Estos métodos también aceptan nil como el argumento de vista para significar "absoluto" a la ventana.

+0

¡Impresionante! ¡Me olvidé por completo de que estos gestos se derivan de UIGestureRecognizer! ¡Una vez mas, muchas gracias! – Ravi

+3

Oh, por cierto, locationInView era lo que estaba buscando ... – Ravi

+4

@Can De acuerdo con los documentos 'translationInView:' da el movimiento total, no el movimiento delta. –

0

Aquí es una manera más fácil:

gesture.locationInView(myView) 

devuelve el punto calculado como la ubicación en una vista determinada del gesto representado por la recibirá como CGPoint.

+0

¿Puede elaborar un poco más sobre lo que hace y cómo es diferente de lo que ya ha intentado el OP? ¿Devuelve un 'CGPoint'? – sgress454

+0

editó la cosa – Esqarrouth

Cuestiones relacionadas