I found a good example for you: stackoverflow link
This is a step by step guide on how to implement gesture recognizers
in your class:
Conform your class to UIGestureRecognizerDelegate
protocol.
Instantiate the gesture recognizer. For example, to instantiate a
UITapGestureRecognizer
, we will do:
UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapFrom:)];
Here, action is the selector which will handle the gesture. Here, our
selector handleTapFrom will look something like:
- (void) handleTapFrom: (UITapGestureRecognizer *)recognizer
{
//Code to handle the gesture
}
The argument to the selector is the gesture recognizer. We can use
this gesture recognizer to access its properties, for example, we can
find the state of the gesture recognizer, like,
UIGestureRecognizerStateBegan
, UIGestureRecognizerStateEnded
, etc.
Set the desired properties on the instantiated gesture recognizer. For
example, for a UITapGestureRecognizer
, we can set the properties
numberOfTapsRequired
, and numberOfTouchesRequired
.
Add the gesture recognizer to the view you want to detect gestures
for. In our sample code (I will be sharing that code for your
reference), we will add gesture recognizers to an imageView with the
following line of code:
[self.imageView addGestureRecognizer:tapGestureRecognizer];
After adding the gesture recognizer to the view, set the delegate for
the gesture recognizer, i.e. the class which will handle all the
gesture recognizer stuff. In our sample code, it would be like:
tapGestureRecognizer.delegate = self;
Note: Assign the delegate after adding the gesture recognizer to the
view. Otherwise, the action method won’t be called.