Doppio tap su alcune subviews specifici con UIGestureRecognizer sottoclasse?
-
29-09-2019 - |
Domanda
Ho seguito demo della sessione del 121 WWDC 2010 (Gesture avanzata di riconoscimento) per trovare un modo per avere tutti i comportamenti (Ruota, Scala, tradurre) su un altra classe (TransformGestureReconizer) e tutto va bene e faccio questo per i subviews :
- (void)viewDidLoad {
[super viewDidLoad];
[self.view addSubview:baseView];
subView1.userInteractionEnabled = YES;
[self addTransformGestureToView:subView1];
}
Ecco il mio problema: Mi piacerebbe avere un'azione quando si fa doppio tap su una visualizzazione secondaria desiderata.
Quindi, se aggiungo una:
- (void)handleDoubleTap:(UIGestureRecognizer *)gestureRecognizer
Non riesco a scegliere quale visualizzare la mia azione fornisce (come cambiare l'immagine su di esso) Se aggiungo alla vista principale:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
I può gestire solo il doppio tap sulla vista principale, ma non per i subviews e solo può farlo sul TransformGestureReconizer.h
ma poi non scegliere la visualizzazione sfruttato (credo perché sottoclasse di UIGestureRecognizer).
Soluzione
Ho trovato una soluzione:
UITapGestureRecognizer *doubleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleDoubleTap:)];
[doubleTap setNumberOfTapsRequired:2];
[self addTransformGestureToView:subView1];
[self.subView1 addGestureRecognizer:doubleTap];
[doubleTap release];