¿Cómo puedo averiguar cuándo se termina un gesto de pellizco (Uigesturerecognizer)?
-
17-09-2020 - |
Pregunta
Quiero obtener una devolución de llamada cuando mi uipinchgesturerecognizer terminó un gesto de pellizco.Además, sería genial saber si el gesto terminado fue un zoom o un alejar.
¿Alguien sabe un método para usar?O el enfoque para hacer?
¡Gracias!
Solución
Otro enfoque en lugar de anular touchesed:, es que podría simplemente verificar el estado del reconocedor de gestos en su método de controlador de destino.
-(void)handlePinchGesture:(UIGestureRecognizer*)gestureRecognizer {
if(UIGestureRecognizerStateEnded == [gestureRecognizer state]){
// do something
}
}
Otros consejos
Puedes saber si era un zoom o fuera por la propiedad de escala del UIPInChgesturerecognizer.
Simplemente returida Es touchEsed: Method para obtener una devolución de llamada (y la llamada de algún otro método si lo desea).
El mejor enfoque que no requiere SUBCLASSING es examinar la propiedad "Estado" en la instancia reconocida por gesto en su controlador de acción.El estado cambiará durante todas las fases del ciclo de vida del gesto.El cambio de estado que está buscando es UigestureCognizerStateEdendido.También es una buena práctica verificar si también es UigestureCognizerStateCanceled.