ios UIPanGestureRecognizer puntero posición
(3)
Creo que una forma simple de algo como esto es obtener la xey del toque y su seguimiento, una vez que tenga 2 puntos (digamos X: 230 Y: 122), configure el desplazamiento de la vista UIScroll a la x e y .
No estoy seguro exactamente de cómo llegué a esta respuesta ... Si no me ayuda, no me voten. Todavía soy un noob D:
UIPanGestureRecognizer *panRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(pan:)];
[self addGestureRecognizer:panRecognizer];
- (void)pan:(UIPanGestureRecognizer *)gesture {
NSLog(@"%f", [gesture translationInView:self].x);
}
El código anterior registrará la posición relativa de mi panorama actual, pero ¿cómo puedo obtener la posición absoluta para la vista en la que estoy?
Simplemente quiero deslizar un UIImageView
a donde sea que esté el dedo del usuario.
translationInView
le ofrece la traducción de la bandeja (cuánto ha cambiado x) y no la posición de la bandeja en la vista (el valor de x). Si necesita la posición de la bandeja, debe usar el método locationInView
.
Puede encontrar las coordenadas en relación con la vista de la siguiente manera:
- (void)pan:(UIPanGestureRecognizer *)gesture {
NSLog(@"%f", [gesture locationInView:self].x);
}
O en relación con la supervisión:
- (void)pan:(UIPanGestureRecognizer *)gesture {
NSLog(@"%f", [gesture locationInView:self.superview].x);
}
O en relación a la ventana:
- (void)pan:(UIPanGestureRecognizer *)gesture {
NSLog(@"%f", [gesture locationInView:self.window].x);
}
Rápido
Ubicación relativa ( CGPoint
) de su gesto a la self.view
:
print( gesture.locationInView(self.view) )