diff --git a/RESideMenu/RESideMenu.h b/RESideMenu/RESideMenu.h index 6682ae1b..10a1f95a 100644 --- a/RESideMenu/RESideMenu.h +++ b/RESideMenu/RESideMenu.h @@ -48,6 +48,8 @@ @property (assign, readwrite, nonatomic) NSTimeInterval animationDuration; @property (strong, readwrite, nonatomic) UIImage *backgroundImage; @property (assign, readwrite, nonatomic) BOOL panGestureEnabled; +@property (assign, readwrite, nonatomic) IBInspectable BOOL panGestureLeftEnabled; +@property (assign, readwrite, nonatomic) IBInspectable BOOL panGestureRightEnabled; @property (assign, readwrite, nonatomic) BOOL panFromEdge; @property (assign, readwrite, nonatomic) NSUInteger panMinimumOpenThreshold; @property (assign, readwrite, nonatomic) IBInspectable BOOL interactivePopGestureRecognizerEnabled; diff --git a/RESideMenu/RESideMenu.m b/RESideMenu/RESideMenu.m index b6b8efd9..ae0f1361 100644 --- a/RESideMenu/RESideMenu.m +++ b/RESideMenu/RESideMenu.m @@ -103,6 +103,8 @@ - (void)commonInit _bouncesHorizontally = YES; _panGestureEnabled = YES; + _panGestureLeftEnabled = YES; + _panGestureRightEnabled = YES; _panFromEdge = YES; _panMinimumOpenThreshold = 60.0; @@ -537,11 +539,13 @@ - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceive if (self.panFromEdge && [gestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]] && !self.visible) { CGPoint point = [touch locationInView:gestureRecognizer.view]; - if (point.x < 20.0 || point.x > self.view.frame.size.width - 20.0) { + if(self.panGestureLeftEnabled && point.x < 20.0) { + return YES; + } else if(self.panGestureRightEnabled && point.x > self.view.frame.size.width - 20.0) { return YES; - } else { - return NO; } + + return NO; } return YES;