From 93b7afcfd8e9429ca8c0730df1502709f4d21216 Mon Sep 17 00:00:00 2001 From: Aryan Ghassemi Date: Sun, 26 Jan 2014 15:05:21 -0800 Subject: [PATCH] - Implemented clear for slide animation - Fixed an issue with scale animation --- .../SlideNavigationContorllerAnimatorScale.m | 4 +-- .../SlideNavigationContorllerAnimatorSlide.m | 27 ++++++++++++++++++- SlideMenu/Source/SlideNavigationController.m | 2 +- 3 files changed, 29 insertions(+), 4 deletions(-) diff --git a/SlideMenu/Source/Animations/SlideNavigationContorllerAnimatorScale.m b/SlideMenu/Source/Animations/SlideNavigationContorllerAnimatorScale.m index 1499d26..49b2a2e 100644 --- a/SlideMenu/Source/Animations/SlideNavigationContorllerAnimatorScale.m +++ b/SlideMenu/Source/Animations/SlideNavigationContorllerAnimatorScale.m @@ -14,7 +14,7 @@ - (id)init { - if (self = [self initWithMinimumScale:.8]) + if (self = [self initWithMinimumScale:.9]) { } @@ -39,7 +39,7 @@ ? [SlideNavigationController sharedInstance].leftMenu : [SlideNavigationController sharedInstance].rightMenu; - menuViewController.view.transform = CGAffineTransformScale([SlideNavigationController sharedInstance].view.transform, self.minimumScale, self.minimumScale); + menuViewController.view.transform = CGAffineTransformScale(CGAffineTransformIdentity, self.minimumScale, self.minimumScale); } - (void)animateMenu:(Menu)menu withProgress:(CGFloat)progress diff --git a/SlideMenu/Source/Animations/SlideNavigationContorllerAnimatorSlide.m b/SlideMenu/Source/Animations/SlideNavigationContorllerAnimatorSlide.m index 1852db3..7ee4352 100644 --- a/SlideMenu/Source/Animations/SlideNavigationContorllerAnimatorSlide.m +++ b/SlideMenu/Source/Animations/SlideNavigationContorllerAnimatorSlide.m @@ -102,7 +102,32 @@ - (void)clear { - // Nothing to do + [self clearMenu:MenuLeft]; + [self clearMenu:MenuRight]; +} + +#pragma mark - Private Method - + +- (void)clearMenu:(Menu)menu +{ + UIViewController *menuViewController = (menu == MenuLeft) + ? [SlideNavigationController sharedInstance].leftMenu + : [SlideNavigationController sharedInstance].rightMenu; + + UIInterfaceOrientation orientation= [SlideNavigationController sharedInstance].interfaceOrientation; + + CGRect rect = menuViewController.view.frame; + + if (UIInterfaceOrientationIsLandscape(orientation)) + { + rect.origin.y = 0; + } + else + { + rect.origin.x = 0; + } + + menuViewController.view.frame = rect; } @end diff --git a/SlideMenu/Source/SlideNavigationController.m b/SlideMenu/Source/SlideNavigationController.m index 7995415..7c45223 100644 --- a/SlideMenu/Source/SlideNavigationController.m +++ b/SlideMenu/Source/SlideNavigationController.m @@ -416,7 +416,7 @@ static SlideNavigationController *singletonInstance; if (([self isMenuOpen] && !forcePrepare) || menuViewController.view.superview) return; - menuViewController.view.frame = [self initialRectForMenu]; + //menuViewController.view.frame = [self initialRectForMenu]; [self.menuRevealAnimator prepareMenuForAnimation:menu]; [removingMenuViewController.view removeFromSuperview];