Tengo problemas con la cadena de eventos de respuesta en una aplicación iOS.Evitar que la vista principal reciba eventos táctiles después de que la vista infantil actúe en ella
El problema es el siguiente, tengo un conjunto de subvistas (burbujas) en una vista más grande (cuadrado) y quiero poder mostrar una cierta vista si toco los botones, sin embargo, si toco en otro lugar Quiero la misma vista para ocultar.
El problema es que cuando toco una burbuja, se activan ambas vistas (secundaria y principal), ¿cómo puedo evitar esto?
Si el niño ya actuó en un evento táctil ¿no debería ser eso el final?
mis burbujas están reconociendo el gesto Grifo con UITapGestureRecognizer mientras que la vista padre (cuadrado) utiliza touchesBegan: Método
Este gráfico explica mi configuración actual con múltiples burbujas:
Código:
@implementation Bubble
...
-(id) initWithFrame: (CGRect) frame {
UITapGestureRecognizer *singleFingerDTap = [[UITapGestureRecognizer alloc]
initWithTarget:self action:@selector(handleSingleTap:)];
singleFingerDTap.numberOfTapsRequired = 1;
[self addGestureRecognizer:singleFingerDTap];
}
-(void) handleSingleTap {
NSLog(@"Bubble tapped, show the view");
}
para Square
@implementation Square
...
- (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
NSLog(@"square touched, lets hide the view");
}
Después de un grifo que ver tanto NSLogs en la consola
pls incluyen el código –
@ LithuT.V ejemplo de código incluido – perrohunter