Cómo obtener toques cuando la vista principal tiene userInteractionEnabled establecido en NO en iOS
uikit touch (3)
Establecer la propiedad userInteractionEnabled de la vista principal en NO también establece implícitamente sus subviews propiedades userInteractionEnabled a NO también. No conozco una forma de obtener eventos táctiles en la subvista utilizando el enfoque que ha descrito, pero tal vez podría crear una vista que simplemente superponga las vistas con las que desea que interactúen los usuarios, pero que no es el padre de esas puntos de vista.
Cuando la vista padre tiene userInteractionEnabled = NO, sus subvistas no aceptarán eventos táctiles, incluso si su propiedad userInteractionEnabled está establecida en YES.
¿Hay alguna forma de obtener eventos táctiles en las subvistas?
Para obtener una vista que permita los toques pasar pero darle a sus subvistas toques, permita que userInteractionEnabled en esa vista SÍ y, en su lugar, use este fragmento:
-(id)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
id hitView = [super hitTest:point withEvent:event];
if (hitView == self) return nil;
else return hitView;
}
Fuente: http://cocoaheads.tumblr.com/post/2130871776/ignore-touches-to-uiview-subclass-but-not-to-its
Una solución alternativa sería deshabilitar la interacción del usuario de los botones, etc. a nil en lugar de deshabilitar la interacción del usuario de la vista principal completa