Have you set UIGestureRecognizerDelegate in you .h file?
You can get full information of behavior of UIGestureRecognition in Apple doc
Using UIGestureRecognizers is extremely simple. You just perform the following steps:
Create a gesture recognizer. When you create a gesture recognizer, you specify a callback method so the gesture recognizer can send you updates when the gesture starts, changes, or ends.
Add the gesture recognizer to a view. Each gesture recognizer is associated with one (and only one) view. When a touch occurs within the bounds of that view, the gesture recognizer will look to see if it matches the type of touch it’s looking for, and if a match is found it will notify the callback method.
You can perform these two steps programatically , but it’s even easier adding a gesture recognizer visually with the Storyboard editor.
See Full tutorial and working here :