Skip to content

Commit

Permalink
Fixed case where drawer side controller is nil. Fixes #1
Browse files Browse the repository at this point in the history
  • Loading branch information
larsacus committed May 9, 2013
1 parent b9edd1a commit d5dc89d
Showing 1 changed file with 12 additions and 5 deletions.
17 changes: 12 additions & 5 deletions MMDrawerController/MMDrawerController.m
Original file line number Diff line number Diff line change
Expand Up @@ -628,12 +628,14 @@ -(void)panGesture:(UIPanGestureRecognizer *)panGesture{
UIViewController * visibleSideDrawerViewController;
MMDrawerSide visibleSide = MMDrawerSideNone;
CGFloat percentVisible = 0.0;
if(xOffset > 0){
if((xOffset > 0) &&
(self.leftDrawerViewController != nil)){
visibleSideDrawerViewController = self.leftDrawerViewController;
visibleSide = MMDrawerSideLeft;
percentVisible = xOffset/self.maximumLeftDrawerWidth;
}
else if(xOffset < 0){
else if((xOffset < 0) &&
(self.rightDrawerViewController != nil)){
visibleSideDrawerViewController = self.rightDrawerViewController;
visibleSide = MMDrawerSideRight;
percentVisible = ABS(xOffset)/self.maximumRightDrawerWidth;
Expand All @@ -648,9 +650,11 @@ -(void)panGesture:(UIPanGestureRecognizer *)panGesture{
[self setOpenSide:MMDrawerSideNone];
}

[self updateDrawerVisualStateForDrawerSide:visibleSide percentVisible:percentVisible];

[self.centerContainerView setCenter:CGPointMake(CGRectGetMidX(newFrame), CGRectGetMidY(newFrame))];
if (visibleSide != MMDrawerSideNone) {
[self updateDrawerVisualStateForDrawerSide:visibleSide percentVisible:percentVisible];

[self.centerContainerView setCenter:CGPointMake(CGRectGetMidX(newFrame), CGRectGetMidY(newFrame))];
}
break;
}
case UIGestureRecognizerStateCancelled:
Expand Down Expand Up @@ -700,6 +704,9 @@ -(void)finishAnimationForPanGestureWithXVelocity:(CGFloat)xVelocity completion:(
[self openDrawerSide:MMDrawerSideRight animated:YES completion:completion];
}
}
else{
[self closeDrawerAnimated:YES completion:completion];
}
}

-(void)updateDrawerVisualStateForDrawerSide:(MMDrawerSide)drawerSide percentVisible:(CGFloat)percentVisible{
Expand Down

0 comments on commit d5dc89d

Please sign in to comment.