Estoy a punto de desesperarme tratando de lograr algo tan simple.Detener UITableView consumir eventos táctiles por lo que el menú deslizante en la vista principal puede detectar golpes horizontales
Tengo una vista con un menú que, al usar las funciones touchEvents, se desliza desde la izquierda cuando se hace un gesto para hacerlo con un deslizamiento horizontal. No uso reconocedores de gestos, simplemente utilizo los toques Bean, touchesMoved, etc. y rastrear la diferencia de coordenadas x entre la posición táctil inicial, las posiciones intermedias y la posición táctil final. Funciona muy bien.
Pero, cuando en el cuerpo tengo una UITableView, los eventos táctiles ya no encuentran su camino en la jerarquía hasta la vista que administra el menú. Traté de evitar esto pasando toques a superview/nextResponder, que funciona, pero veo un touchesBegan y 2 toques de llamadas modificadas antes de que simplemente deje de procesarse más arriba en la jerarquía.
En concreto, tengo un SlideMenuView, en el que hay una vista de menú y una vista del cuerpo. Dentro de la vista del cuerpo, tengo en algún punto el UITableView. Veo (a través de NSLog) que los métodos toques * se llaman de principio a fin sin problemas. Los paso a nextResponder y los veo en SlideMenuView también, pero después de 2 llamadas a touchesMoved, parecen detenerse en SlideMenuView pero continuar en mi UITableView.
Estoy anulando el UITableView para hacer esto, pero no he cambiado nada más dentro de él.
Sé que esto debe ser posible, ya que está en la aplicación de Facebook. Puede deslizar en cualquier parte del cuerpo, que se puede desplazar horizontalmente y revelar el menú. Quiero que ocurra lo mismo de forma natural aquí, pero parece que algo extraño está sucediendo, y UITableView está consumiendo o destruyendo los eventos.
¿Alguien puede ayudarme con esto? Alguien debe haber logrado esto de una manera limpia.
¿Hay algún motivo por el que no pueda usar los reconocedores de gestos? Creo que esto sería más fácil de lograr si pudieras hacerlo. – rdelmar