Comment annuler UIGestureRecognizer si la sous-vue de la touche pressée

J'ai du mal à obtenir le comportement je voudrais à partir d'un geste recognisers, plus précisément l'annulation de certains gestes si les autres en ont tiré.

J'ai un scrollView ensemble de la pagination et de multiples sous-vues dans chaque page. J'ai ajouté une touche logiciel de reconnaissance de geste pour faire défiler jusqu'à la next ou prev page si l'utilisateur appuie à droite ou à gauche de la page.

    //Add a gesture recogniser turn pages on a single tap at the edge of a page
    UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapGestureHandler:)];
    tapGesture.cancelsTouchesInView = NO;
    [self addGestureRecognizer:tapGesture];
    [tapGesture release];

et mon geste gestionnaire:

- (void) tapGestureHandler:(UIGestureRecognizer *) gestureRecognizer {
    const CGFloat kTapMargin = 180;

    //Get the position of the point tapped in the window co-ordinate system
    CGPoint tapPoint = [gestureRecognizer locationInView:nil];

    //If the tap point is to the left of the page then go back a page
    if (tapPoint.x > (self.frame.size.width - kTapMargin)) [self scrollRectToVisible:pageViewRightFrame animated:YES];

    //If the tap point is to the right of the page then go forward a page
    else if (tapPoint.x < kTapMargin) [self scrollRectToVisible:pageViewLeftFrame animated:YES];
}

Tout fonctionne bien, sauf si j'ai une sous-vue sur la page qui a des boutons en elle. Je veux être capable d'ignorer le robinet à tourner la page si l'utilisateur appuie sur un bouton de la sous-vue et je ne peux pas comprendre comment le faire.

Acclamations

Dave