Domanda

E 'possibile ottenere un punto di partenza gesto da un UISwipeGestureRecognizer. come come la sua possibile in

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

    UITouch * touch = [touches anyObject];
    gestureStartPoint = [touch locationInView:self];
}
È stato utile?

Soluzione

In base alla documentazione di UISwipeGestureRecognizer è possibile:

  

E 'possibile determinare la posizione in cui un colpo iniziato chiamando i metodi UIGestureRecognizer locationInView: e locationOfTouch: Inview :. Il primo metodo vi dà il baricentro se più di un tocco è stato coinvolto nel gesto; quest'ultimo dà la posizione di un tocco particolare.

PS: davvero deve prima consultare la documentazione, la risposta è stata nel riferimento classe di UISwipeGestureRecognizer, non dovrebbe essere difficile da trovare. Parte di essere uno sviluppatore è in grado di guardare le cose, Apple ha una eccellente documentazione, usarlo!

Altri suggerimenti

ATTENZIONE

La risposta di Amy è totalmente ERRATO! Recognizer può generare UIGestureRecognizerStateBegan ma sul colpo UISwipeGestureRecognizer genera l'evento UIGestureRecognizerStateEnded solo.

Ma touchesBegan: funziona invece. Il problema è se supporta interazione con l'utente allora funziona solo vista corrente ed è necessario passare ad una vista padre.

Sì, è possibile. Vedere codice qui sotto:

if ([recognizer state] == UIGestureRecognizerStateBegan || [recognizer state] != UIGestureRecognizerStateChanged) {
    NSLog(@"StateBegan :::::");
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top