I have a project that I started out using a tap gesture recognizer for. I realized I didn't have enough control with the tap gesture recognizer, so I've started coding with using my viewcontroller as a UIGestureRecognizerDelegate
. Just to make sure I was on the right track, I added methods for touchesBegan
, touchesMoved
, touchesEnded
, touchesCancelled
. The methods are empty except for NSLog
calls so I can tell what is being fired when I try different things.
Things worked as expected except that I was getting a bunch of calls to touchesCancelled. I assume this is because of the tap gesture recognizer I still have in place. I'm not ready to remove the tap gesture recognizer, so I just wanted to confirm that this is what would happen if a gesture I used was actually a tap.
The documentation says:
This method is invoked when the Cocoa Touch framework receives a system interruption requiring cancellation of the touch event; for this, it generates a
UITouch
object with a phase ofUITouchPhaseCancel
. The interruption is something that might cause the application to be no longer active or the view to be removed from the window When an object receives atouchesCancelled:withEvent:
message it should clean up any state information that was established in itstouchesBegan:withEvent:
implementation.
But I suspect my scenario just outlined is just as likely. Am I correct?