Skip to content

Commit 45924c9

Browse files
committed
Merge pull request #211 from mutualmobile/bugfix_30
Mergin' Fix for the black side drawer like a bawss
2 parents 8231c20 + b590336 commit 45924c9

File tree

1 file changed

+18
-5
lines changed

1 file changed

+18
-5
lines changed

MMDrawerController/MMDrawerController.m

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -461,6 +461,8 @@ -(void)setCenterViewController:(UIViewController *)newCenterViewController withF
461461

462462
CGRect newCenterRect = self.centerContainerView.frame;
463463

464+
[self setAnimatingDrawer:animated];
465+
464466
UIViewController * oldCenterViewController = self.centerViewController;
465467
[oldCenterViewController beginAppearanceTransition:NO animated:animated];
466468
newCenterRect.origin.x = targetClosePoint;
@@ -498,7 +500,7 @@ -(void)setCenterViewController:(UIViewController *)newCenterViewController withF
498500
[sideDrawerViewController.view setFrame:sideDrawerViewController.mm_visibleDrawerFrame];
499501

500502
[self setOpenSide:MMDrawerSideNone];
501-
503+
[self setAnimatingDrawer:NO];
502504
if(completion){
503505
completion(finished);
504506
}
@@ -914,7 +916,8 @@ -(UIColor*)statusBarViewBackgroundColor{
914916
#pragma mark - Gesture Handlers
915917

916918
-(void)tapGestureCallback:(UITapGestureRecognizer *)tapGesture{
917-
if(self.openSide != MMDrawerSideNone){
919+
if(self.openSide != MMDrawerSideNone &&
920+
self.isAnimatingDrawer == NO){
918921
[self closeDrawerAnimated:YES completion:^(BOOL finished) {
919922
if(self.gestureCompletion){
920923
self.gestureCompletion(self, tapGesture);
@@ -925,8 +928,15 @@ -(void)tapGestureCallback:(UITapGestureRecognizer *)tapGesture{
925928

926929
-(void)panGestureCallback:(UIPanGestureRecognizer *)panGesture{
927930
switch (panGesture.state) {
928-
case UIGestureRecognizerStateBegan:
929-
self.startingPanRect = self.centerContainerView.frame;
931+
case UIGestureRecognizerStateBegan:{
932+
if(self.animatingDrawer){
933+
[panGesture setEnabled:NO];
934+
break;
935+
}
936+
else {
937+
self.startingPanRect = self.centerContainerView.frame;
938+
}
939+
}
930940
case UIGestureRecognizerStateChanged:{
931941
CGRect newFrame = self.startingPanRect;
932942
CGPoint translatedPoint = [panGesture translationInView:self.centerContainerView];
@@ -966,7 +976,6 @@ -(void)panGestureCallback:(UIPanGestureRecognizer *)panGesture{
966976
[self.centerContainerView setCenter:CGPointMake(CGRectGetMidX(newFrame), CGRectGetMidY(newFrame))];
967977
break;
968978
}
969-
case UIGestureRecognizerStateCancelled:
970979
case UIGestureRecognizerStateEnded:{
971980
self.startingPanRect = CGRectNull;
972981
CGPoint velocity = [panGesture velocityInView:self.childControllerContainerView];
@@ -977,6 +986,10 @@ -(void)panGestureCallback:(UIPanGestureRecognizer *)panGesture{
977986
}];
978987
break;
979988
}
989+
case UIGestureRecognizerStateCancelled:{
990+
[panGesture setEnabled:YES];
991+
break;
992+
}
980993
default:
981994
break;
982995
}

0 commit comments

Comments
 (0)