Estoy usando una subclase personalizada UIGestureRecognizer
para rastrear gestos en mi clase InfoView
. La clase InfoView
es una subvista de una subclase personalizada UITableViewCell
llamada InfoCell
.UIGestureRecognizer que bloquea la vista de tabla que se desplaza
He agregado mi reconocedor de gestos a mi vista raíz (la vista principal de todo lo demás en la pantalla, porque el propósito de mi reconocedor de gestos personalizado es permitir el arrastre de InfoCell
vistas entre tablas). Ahora, todo funciona como debería, excepto una cosa. Estoy usando el siguiente código en mi UIGestureRecognizer
subclase para detectar toques en la InfoView
vista:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UIView *touchView = [[touches anyObject] view];
if ([touchView isKindOfClass:[InfoView class]]) {
// Do stuff
}
El problema aquí es que los toques en el objeto InfoView
están siendo interceptadas, por lo tanto, no se está remitiendo a la UITableView
que contiene el InfoCell
, que es la vista principal del InfoView
. Esto significa que ya no puedo desplazar la vista de tabla arrastrando en la vista InfoView
, que es un problema porque el InfoView
cubre todo el InfoCell
.
¿Hay alguna manera de reenviar los toques a la vista de tabla para que pueda desplazarse? He intentado un montón de cosas ya:
[super touchesBegan:touches withEvent:event];
[touchView.superview.superview touchesBegan:touches withEvent:event];
(touchView.superview.superview
obtiene una referencia a su matriz UITableView
)
pero nada ha funcionado hasta ahora. Además, la propiedad cancelsTouchesInView
de mi UIGestureRecognizer
está configurada en NO
, por lo que no interfiere con los toques.
Se agradece la ayuda. ¡Gracias!
Este cosas fijas para mí cuando tuve el mismo problema, gracias –
he estado golpeando mi cabeza contra la pared en este caso. Gracias ! : D – Legolas