UISwipeGestureRecognizer punto de inicio gesto
-
26-09-2019 - |
Pregunta
¿Es posible obtener un punto de inicio de un gesto UISwipeGestureRecognizer. como la forma de su posible
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch * touch = [touches anyObject];
gestureStartPoint = [touch locationInView:self];
}
Solución
De acuerdo con la documentación de UISwipeGestureRecognizer puede:
Se puede determinar la ubicación en la que un golpe empezó llamando a la UIGestureRecognizer métodos locationInView: y locationOfTouch: inView :. El primer método le da el baricentro si más de un toque participó en el gesto; el último da la ubicación de un contacto particular.
PS: en realidad se debe primero mirar la documentación, la respuesta estaba en la referencia de clase de UISwipeGestureRecognizer, no debería ser difícil de encontrar. Parte de ser un desarrollador es ser capaz de mirar las cosas, Apple tiene una excelente documentación, usarlo!
Otros consejos
ADVERTENCIA
La respuesta de Amy es totalmente ! INCORRECTO Reconocedor puede generar UIGestureRecognizerStateBegan
sino en swipe UISwipeGestureRecognizer
genera evento UIGestureRecognizerStateEnded
solamente.
Pero touchesBegan:
trabaja en su lugar. El problema es si es compatible con la interacción del usuario entonces funciona sólo para la vista actual y hay que pasarlo a un vista padre.
Sí, es posible. Ver código de abajo:
if ([recognizer state] == UIGestureRecognizerStateBegan || [recognizer state] != UIGestureRecognizerStateChanged) {
NSLog(@"StateBegan :::::");
}