¿Cuál es el truco para pasar un evento al siguiente respondedor en la cadena de respondedores?

Apple es muy divertido. Quiero decir, dicen que esto funciona:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    UITouch* touch = [touches anyObject];
    NSUInteger numTaps = [touch tapCount];
    if (numTaps < 2) {
        [self.nextResponder touchesBegan:touches withEvent:event];
   } else {
        [self handleDoubleTap:touch];
   }
}

Tengo un controlador de vista. Como usted sabe, los controladores de vista heredan de UIResponder. Ese controlador de vista crea un objeto MyView que hereda de UIView y lo agrega como una subvista a su propia vista.

Entonces tenemos:

Ver Controlador> tiene una Vista (automáticamente)> tiene una MyView (que es una UIView).

Ahora, dentro de MyView, puse ese código como arriba con un NSLog que imprime "toque MyView". Pero reenvío el evento al siguiente respondedor, al igual que arriba. Y dentro del ViewController tengo otro método touchesBegan que simplemente imprime un NSLog a la "control de vista tocado".

Ahora adivina qué: cuando toco el MyView, se imprime "toque MyView". Cuando toco fuera de MyView, que es la vista del VC, obtengo un "controlador de vista tocado". Así que ambos trabajan! Pero lo que no funciona es reenviar el evento. Porque ahora, en realidad, el siguiente respondedor debería ser el controlador de vista, ya que no hay nada más entre ellos. Pero el método de manejo de eventos del VC nunca se llama cuando lo reenvío.

PS

Ideas?

Descubierto cosas raras El siguiente respondedor de MyView es la vista del controlador de vista. Eso tiene sentido, porque MyView es una subvista de eso. Pero no modifiqué este UIView desde el controlador de vista. No es nada personalizado. Y no implementa ningún manejo de eventos táctiles. ¿No debería pasar el mensaje al controlador de vista? ¿Cómo podría dejarlo pasar? Si elimino el código de manejo de eventos en MyView, entonces el evento llega muy bien en el controlador de vista.

Respuestas a la pregunta(8)

Su respuesta a la pregunta