diff --git a/Demos/MFSideMenuDemoAnimations b/Demos/MFSideMenuDemoAnimations deleted file mode 160000 index 739cdeb..0000000 --- a/Demos/MFSideMenuDemoAnimations +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 739cdebc8008e0f795f8216488c2197fde43c06a diff --git a/MFSideMenu/MFSideMenuContainerViewController.m b/MFSideMenu/MFSideMenuContainerViewController.m index 70216e0..3cf966d 100644 --- a/MFSideMenu/MFSideMenuContainerViewController.m +++ b/MFSideMenu/MFSideMenuContainerViewController.m @@ -158,7 +158,7 @@ - (UIStatusBarStyle)preferredStatusBarStyle { #pragma mark - #pragma mark - UIViewController Rotation --(NSUInteger)supportedInterfaceOrientations { +- (UIInterfaceOrientationMask)supportedInterfaceOrientations { if (self.centerViewController) { if ([self.centerViewController isKindOfClass:[UINavigationController class]]) { return [((UINavigationController *)self.centerViewController).topViewController supportedInterfaceOrientations]; @@ -220,6 +220,7 @@ - (void)setLeftMenuViewController:(UIViewController *)leftSideMenuViewController } - (void)setCenterViewController:(UIViewController *)centerViewController { + [self setUserInteractionStateForCenterViewController:YES]; [self removeCenterGestureRecognizers]; [self removeChildViewControllerFromContainer:_centerViewController]; @@ -228,6 +229,7 @@ - (void)setCenterViewController:(UIViewController *)centerViewController { if(!_centerViewController) return; [self addChildViewController:_centerViewController]; + centerViewController.view.frame = self.view.bounds; [self.view addSubview:[_centerViewController view]]; [((UIViewController *)_centerViewController) view].frame = (CGRect){.origin = origin, .size=centerViewController.view.frame.size}; @@ -351,7 +353,7 @@ - (void)setMenuState:(MFSideMenuState)menuState completion:(void (^)(void))compl void (^innerCompletion)() = ^ { _menuState = menuState; - [self setUserInteractionStateForCenterViewController]; + [self setUserInteractionStateForCenterViewController:(menuState == MFSideMenuStateClosed)]; MFSideMenuStateEvent eventType = (_menuState == MFSideMenuStateClosed) ? MFSideMenuStateEventMenuDidClose : MFSideMenuStateEventMenuDidOpen; [self sendStateEventNotification:eventType]; @@ -547,7 +549,7 @@ - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceive - (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer { if ([gestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]]) { CGPoint velocity = [(UIPanGestureRecognizer *)gestureRecognizer velocityInView:gestureRecognizer.view]; - BOOL isHorizontalPanning = fabsf(velocity.x) > fabsf(velocity.y); + BOOL isHorizontalPanning = fabs(velocity.x) > fabs(velocity.y); return isHorizontalPanning; } return YES; @@ -710,16 +712,18 @@ - (void)centerViewControllerTapped:(id)sender { } } -- (void)setUserInteractionStateForCenterViewController { +- (void)setUserInteractionStateForCenterViewController:(BOOL)state { // disable user interaction on the current stack of view controllers if the menu is visible if([self.centerViewController respondsToSelector:@selector(viewControllers)]) { NSArray *viewControllers = [self.centerViewController viewControllers]; for(UIViewController* viewController in viewControllers) { - viewController.view.userInteractionEnabled = (self.menuState == MFSideMenuStateClosed); + viewController.view.userInteractionEnabled = state; } } } + + #pragma mark - #pragma mark - Center View Controller Movement diff --git a/MFSideMenu/MFSideMenuShadow.h b/MFSideMenu/MFSideMenuShadow.h index 05cdc26..b8f077f 100644 --- a/MFSideMenu/MFSideMenuShadow.h +++ b/MFSideMenu/MFSideMenuShadow.h @@ -7,6 +7,7 @@ // #import +#import @interface MFSideMenuShadow : NSObject