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];
}
¿Fue útil?

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 :::::");
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top