 <p>Try this way</p> <pre><code> UISwipeGestureRecognizer *_swipeRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(didSwipe:)]; [_swipeRecognizer setDirection:UISwipeGestureRecognizerDirectionLeft|UISwipeGestureRecognizerDirectionRight]; [_swipeRecognizer setDelegate:self]; [self.view addGestureRecognizer:_swipeRecognizer]; _swipeRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(didSwipe:)]; [_swipeRecognizer setDirection:UISwipeGestureRecognizerDirectionUp|UISwipeGestureRecognizerDirectionDown]; [_swipeRecognizer setDelegate:self]; [self.view addGestureRecognizer:_swipeRecognizer]; </code></pre> <p><strong>EDIT</strong></p> <p>As @LearnCocos2D <a href="http://stackoverflow.com/questions/7420078/detect-when-uigesturerecognizer-is-up-down-left-and-right-cocos2d/7760927#7760927">suggested</a> " <em>Apparently each UISwipeGestureRecognizer can only detect the swipe in the given direction. Even though the direction flags could be OR'ed together the UISwipeGestureRecognizer ignores the additional flags.</em> "</p> <p>And As per your "<strong>Note</strong>: <em>I do not need to detect the actual direction of the swipe. I just need to know there is a swipe.</em>", You just need to detect swipe not the direction so combining right-left as one and up-down as other gesture will work.</p>