UITapGestureRecognizer en UILabels en la subvista de UIScrollView no funciona

Tengo un problema en el que mi UITapGestureRecognizer en mis UILabels en una vista de contenido en mi UIScrollView no está llamando a sus métodos.

La jerarquía de vistas es la siguiente:

scrollView (UIScrollView)contentView (UIView)testLabel (UILabel) - aquí es donde se adjunta el UITapGestureRecognizer

He destilado el código a un ejemplo para resaltar el problema

// Set scrollview size - Added in Storyboad
[scrollView setContentSize:CGSizeMake([arrayOfVerbs count]*self.view.frame.size.width, scrollView.contentSize.height)];
[scrollView setCanCancelContentTouches:YES]; // Tried both yes and no
[scrollView setPagingEnabled:YES];

// Add content view
UIView *contentView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, scrollView.contentSize.width, scrollView.contentSize.height)];
[scrollView addSubview:contentView];

// Add test UILabel
UILabel *testLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 200, 100)];
[testLabel setBackgroundColor:[UIColor redColor]];
[testLabel setText:@"Test touch"];
[testLabel setUserInteractionEnabled:YES];
[contentView addSubview:testLabel];

// Add gesture recogniser
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(playSound:)];
singleTap.numberOfTapsRequired = 1;
[testLabel addGestureRecognizer:singleTap];

Y este es el método que el gestor de gestos debe llamar

- (void)playSound:(UITapGestureRecognizer *)sender {

    NSLog(@"play sound");

    if(sender.state == UIGestureRecognizerStateEnded)
    {
        int pronounNumber = [sender.view tag];
        int exampleNumber = (int)sender.view.frame.origin.x%(int)self.view.frame.size.width;

        NSLog(@"Pronoun is %i and example is %i", pronounNumber, exampleNumber);
    }
}

Este método nunca se llama cuando intenté tocar en la UILabel.

He intentado establecer la propiedad canCancelContentTouches en YES y NO en la vista de desplazamiento como lo sugiere estehilo, pero sigue sin funcionar.

Lo extraño es que si agrego un UILabel fuera del scrollView, ¡entonces el reconocedor de gestos funciona! Así que el problema solo ocurre en mi contentView, que es una subvista de mi scrollView.

Estoy usando el diseño automático, si eso podría ser alguna diferencia?

¡Gracias!

Respuestas a la pregunta(3)

Su respuesta a la pregunta