toque gesto no reconocido en uiimageview


He añadido dos uiimageviews, uno sobre otro subview uiview (imageview1,imageview2). En la primera vista la parte superior uiimageview está oculta(imageview2) y en la segunda vista la parte inferior imageview está oculta(imageview1).

Asignando el gesto de toque:

UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(oneTap:)];
UITapGestureRecognizer *singleTap1 = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(oneTap:)];

Establezca la interacción del usuario para ambos uiimageview en SÍ.

[singleTap setNumberOfTapsRequired:1];
[singleTap1 setNumberOfTapsRequired:1];

/ / añadiendo gestos a uiimageview

Agregue tap gesture recognizer y selector respectivamente.

[imageview1 addGestureRecognizer:singleTap];
[imageview2 addGestureRecognizer:singleTap1];

Pero mis grifos no son reconocidos.

¿Puede alguien decirme dónde está el error es?

Author: TylerH, 2013-10-07

2 answers

Intente configurar setUserInteractionEnabled:YES antes de agregar gesture recognizer.

[imageview1 setUserInteractionEnabled:YES]
[imageview2 setUserInteractionEnabled:YES]

[imageview1 addGestureRecognizer:singleTap];
[imageview2 addGestureRecognizer:singleTap1];   

Actualización:

Después del comentario que ha hecho, le sugiero que lleve sus vistas a la parte superior antes de detectar el evento tap. Porque el padre ImageView está arriba y atrapa estos toques.

[yourparentview bringSubviewToFront:imageview1];
[yourparentview bringSubviewToFront:imageview2];
 104
Author: Bhavik,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-05-29 12:24:51
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(oneTap:)];
singleTap.numberOfTapsRequired = 1;
singleTap.numberOfTouchesRequired = 1;
singleTap.delegate = self;
[imageview1 addGestureRecogniser:singleTap];
[singleTap1 release];

imageview1.userInteractionEnabled = YES; //disabled by default
 2
Author: n00bProgrammer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-10-07 06:30:37