From 0f2ac95bf4221094da7ca98f54c8ab5bf45a51c3 Mon Sep 17 00:00:00 2001 From: Tran Trung Hieu Date: Fri, 16 Jan 2015 13:32:41 +0700 Subject: [PATCH 1/3] Update MFSideMenuContainerViewController - Call viewWillAppear,viewWillDisappear...method in RighMenuSide of LeftMenuSide when open right/left side menu --- MFSideMenu/MFSideMenuContainerViewController.m | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/MFSideMenu/MFSideMenuContainerViewController.m b/MFSideMenu/MFSideMenuContainerViewController.m index 70216e0..89d8c57 100644 --- a/MFSideMenu/MFSideMenuContainerViewController.m +++ b/MFSideMenu/MFSideMenuContainerViewController.m @@ -388,11 +388,15 @@ - (void)setMenuState:(MFSideMenuState)menuState completion:(void (^)(void))compl // these callbacks are called when the menu will become visible, not neccessarily when they will OPEN - (void)leftMenuWillShow { [self.leftMenuViewController view].hidden = NO; + [self.leftMenuViewController beginAppearanceTransition:YES animated:YES]; + [self.leftMenuViewController endAppearanceTransition]; [self.menuContainerView bringSubviewToFront:[self.leftMenuViewController view]]; } - (void)rightMenuWillShow { [self.rightMenuViewController view].hidden = NO; + [self.rightMenuViewController beginAppearanceTransition:YES animated:YES]; + [self.rightMenuViewController endAppearanceTransition]; [self.menuContainerView bringSubviewToFront:[self.rightMenuViewController view]]; } @@ -791,4 +795,4 @@ - (CGFloat)animationDurationFromStartPosition:(CGFloat)startPosition toEndPositi return MIN(duration, self.menuAnimationMaxDuration); } -@end \ No newline at end of file +@end From aaf9ea538fcf3211682f9954d1e4a2b2816ed4b6 Mon Sep 17 00:00:00 2001 From: Tran Trung Hieu Date: Mon, 19 Jan 2015 18:39:01 +0700 Subject: [PATCH 2/3] Update MFSideMenuContainerViewController - Disable back swipe in toggleRightSideMenu when call toggleRightSideMenu when set controller.centerViewController = UINavigationController, can disable back swipe mode by use: viewController.navigationController.interactivePopGestureRecognizer.enabled = (self.menuState == MFSideMenuStateClosed); --- MFSideMenu/MFSideMenuContainerViewController.m | 1 + 1 file changed, 1 insertion(+) diff --git a/MFSideMenu/MFSideMenuContainerViewController.m b/MFSideMenu/MFSideMenuContainerViewController.m index 89d8c57..cdba96d 100644 --- a/MFSideMenu/MFSideMenuContainerViewController.m +++ b/MFSideMenu/MFSideMenuContainerViewController.m @@ -720,6 +720,7 @@ - (void)setUserInteractionStateForCenterViewController { NSArray *viewControllers = [self.centerViewController viewControllers]; for(UIViewController* viewController in viewControllers) { viewController.view.userInteractionEnabled = (self.menuState == MFSideMenuStateClosed); + viewController.navigationController.interactivePopGestureRecognizer.enabled = (self.menuState == MFSideMenuStateClosed); } } } From cd6975b187508c84b0dc34504adab6515a25a1d5 Mon Sep 17 00:00:00 2001 From: Tran Trung Hieu Date: Wed, 4 Mar 2015 11:15:34 +0700 Subject: [PATCH 3/3] Update MFSideMenuContainerViewController.m Update state bar when open/close menu [ and support landscape orientation:status bar not fade full screen] --- MFSideMenu/MFSideMenuContainerViewController.m | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/MFSideMenu/MFSideMenuContainerViewController.m b/MFSideMenu/MFSideMenuContainerViewController.m index cdba96d..e14719b 100644 --- a/MFSideMenu/MFSideMenuContainerViewController.m +++ b/MFSideMenu/MFSideMenuContainerViewController.m @@ -764,6 +764,18 @@ - (void) setCenterViewControllerOffset:(CGFloat)xOffset { frame.origin.x = xOffset; [self.centerViewController view].frame = frame; + if ([self.panGestureDelegate respondsToSelector:@selector(mfSideMenuPanGestureRecognizerDidPanWithOffset:)]) { + [self.panGestureDelegate mfSideMenuPanGestureRecognizerDidPanWithOffset:xOffset]; + } + if (darkenStatusBarWhenMenuOpens) { + CGFloat menuWidth = MAX(_leftMenuWidth, _rightMenuWidth); + CGFloat menuOpenedPerecent = ABS(xOffset) / menuWidth; + CGRect statusBarFrame = self.statusBarBackgoundView.frame; + statusBarFrame.size.width = self.view.bounds.size.width; + self.statusBarBackgoundView.frame = statusBarFrame; + self.statusBarBackgoundView.alpha = menuOpenedPerecent; + } + if(!self.menuSlideAnimationEnabled) return; if(xOffset > 0){