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).

È stato utile?

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];
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top