Apple is really funny. I mean, they say that this works:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch* touch = [touches any
According to a similar question, your method should work.
This leads me to think that your view's nextResponder is not actually the ViewController, as you suspect.
I would add a quick NSLog in your forwarding code to check what your nextResponder really points to:
if (numTaps < 2) {
NSLog(@"nextResponder = %@", self.nextResponder);
[self.nextResponder touchesBegan:touches withEvent:event];
}
You can also change your other NSLog messages so that they output type and address information:
NSLog(@"touched %@", self);
touched
This should get you started on diagnosing the problem.