Cómo saber si UITapGestureRecognizer se ha agregado a la subvista

Agregué subprocesss programáticos. para cada subvista estoy agregando un reconocimiento de gestos:

UIImageView *imageView = [[UIImageView alloc] initWithImage:image]; imageView.frame = CGRectMake((position*1024)+200,0,image.size.width,image.size.height); UITapGestureRecognizer *singleFingerTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(singleFingerTap:)]; singleFingerTap.numberOfTapsRequinetworking = 1; [imageView addGestureRecognizer:singleFingerTap]; [singleFingerTap release]; 

pero el toque no responde ¿cómo puedo verificar que el gesto lo haya agregado a la subvista?

Agregue esto después de su código:

 NSLog(@"imageView.gestureRecognizers: %@", [imageView.gestureRecognizers description]); 

Si ha agregado correctamente gestureRecognizers, se imprimirá la descripción de cada uno en la console. De lo contrario, se mostrará (NULL) o una matriz vacía en la console.


También puede configurar el delegado de reconocimiento de gestos:

 [singleFingerTap setDelegate:self]; 

A continuación, agregue el método de delegado y establezca un punto de interrupción para asegurarse de que recibe la llamada:

 - (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer { NSLog(@"gestureRecognizerShouldBegin: called"); return YES; } - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch { NSLog(@"shouldReceiveTouch: called"); return YES; }