В этом случае нужно запретить в UIGestureRecognizer одиночного тапа посылку события при двойном тапе. Делается просто методом - (void)requireGestureRecognizerToFail:(UIGestureRecognizer *)otherGestureRecognizer.
Пример:
UIGestureRecognizer *doubleTapGestureRecognizer = [[UIGestureRecognizer alloc] initWithTarget:self action:@selector(handleDoubleTap:)]; doubleTapGestureRecognizer.numberOfTapsRequired = 2; [self addGestureRecognizer:doubleTapGestureRecognizer]; UIGestureRecognizer *singleTapGestureRecognizer = [[UIGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)]; singleTapGestureRecognizer.numberOfTapsRequired = 1; [singleTapGestureRecognizer requireGestureRecognizerToFail:doubleTapGestureRecognizer]; [self addGestureRecognizer:singleTapGestureRecognizer];