The following is from documentation :
Although taps are discrete gestures, they are discrete for each state of the gesture recognizer; thus the as
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ NSDate *date1 = [NSDate date]; //user touches the screen } -(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{ NSDate *date2 = [NSDate date]; //user lifts his finger away from the screen }