Reputation: 3203
I am using SWRevealViewController
from John-Lluch. I need to use pan gesture to view the sidebars and I am using swipe to view my previous and next articles. However, the pan gesture can only be detected.
UPDATED: My swipe gesture worked if I disable my pan gesture.
Pan Gesture
[self.view addGestureRecognizer:self.revealViewController.panGestureRecognizer];
Swipe gesture
UISwipeGestureRecognizer *left = [[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeLeft:)] autorelease];
left.direction = UISwipeGestureRecognizerDirectionLeft;
UISwipeGestureRecognizer *right = [[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeRight:)] autorelease];
right.direction = UISwipeGestureRecognizerDirectionRight;
[self.view addGestureRecognizer:left];
[self.view addGestureRecognizer:right];
Upvotes: 2
Views: 1676
Reputation: 649
It is difficult to handle both pan and swipe gesture recognizer simultaneously. You will have handle the SWRevealViewController delegates for pan gesture and also swipe gesture for the current viewcontroller.
As apple suggests to differentiate the gesture you could use the following method
- (BOOL) gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
return YES;
}
Excerpt from the Apple Documentation:
This method is called when recognition of a gesture by either gestureRecognizer or otherGestureRecognizer would block the other gesture recognizer from recognizing its gesture. Note that returning YES is guaranteed to allow simultaneous recognition; returning NO, on the other hand, is not guaranteed to prevent simultaneous recognition because the other gesture recognizer's delegate may return YES.
Upvotes: 1
Reputation:
[self.view addGestureRecognizer:self.revealViewController.panGestureRecognizer];
[self.view addGestureRecognizer:left];
Notice the difference? Implement the SwipeGesture as a property in your .h or make it in your .xib and link it to your .h
Upvotes: 1