2011-12-06 11 views
5

2 Gesto riconoscitore:Pan e 2 pizzico della barretta di iOS simultanei -alla stesso tempo-

UIPinchGestureRecognizer *twoFingerPinch = 
[[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(handlePinch:)]; 
[croppper addGestureRecognizer:twoFingerPinch]; 

UIPanGestureRecognizer *PanRecognizer = [[[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePan:)] autorelease]; 
[croppper addGestureRecognizer:PanRecognizer]; 

e:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {   
    return YES; 
} 

Ma pizzico e pan allo stesso tempo non funziona ... spesso riesco a pizzicare perché il riconoscimento pan è attivo.

riguarda

risposta

10

Non sembra come si sta impostando il delegato per ogni sistema di riconoscimento gesto. gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer: è un metodo delegato e, pertanto, se il riconoscitore di gesti non ha delegati, questo metodo non verrà richiamato.

Come risultato, il valore di ritorno predefinito sarà NO, pertanto i gesti non verranno riconosciuti contemporaneamente.

+2

+1 per la risposta corretta. In altre parole, aggiungi le seguenti due righe al tuo codice: 'twoFingerPinch.delegate = self;' e 'PanRecognizer.delegate = self;'. Considerare inoltre di rinominare il secondo gestureRecognizer per utilizzare l'iniziale in minuscolo. – Till

+0

il tuo diritto! grazie! (twoFingerPinch.delegate = self;) i – Phil

+3

Stupid web cache - ora la mia risposta sembra ridicola :( – deanWombourne

0

Stai impostando te stesso come delegato ai riconoscitori?

[twoFingerPinch setDelgate:self]; 
... 
[PanRecognizer setDelegate:self]; 

PS Vorrei anche provare a ottenere uno schema di denominazione più coerente per le variabili!

Problemi correlati