I'm trying to make an iPhone app that is controlled by touch. I also want a powerup to be activated when the user double-taps. Here's what I have so far:
UITapGestureRecognizer *powerRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(usePower)];
powerRecognizer.delaysTouchesEnded = NO;
powerRecognizer.numberOfTapsRequired = 2;
powerRecognizer.numberOfTouchesRequired = 1;
[self.view addGestureRecognizer:powerRecognizer];
[powerRecognizer release];
But the problem is, when I double-tap, my touchesEnded:withEvent:
method only fires once, but my touchesBegan:withEvent:
method fires twice. Since touchesBegan:
sets a timer and touchesEnded:
invalidates it, then when touchesEnded:
only fires once, the timer is still running. How can I fix this?