@@ -35,11 +35,9 @@ @interface SlideNavigationController()
3535
3636@implementation SlideNavigationController
3737
38- #define MENU_OFFSET 60
3938#define MENU_SLIDE_ANIMATION_DURATION .3
4039#define MENU_QUICK_SLIDE_ANIMATION_DURATION .1
4140#define MENU_IMAGE @" menu-button"
42- #define DegreesToRadians (degrees ) (degrees * M_PI / 180 )
4341
4442static SlideNavigationController *singletonInstance;
4543
@@ -82,6 +80,8 @@ - (id)initWithRootViewController:(UIViewController *)rootViewController
8280
8381- (void )setup
8482{
83+ self.landscapeSlideOffset = 60 ;
84+ self.portraitSlideOffset = 60 ;
8585 self.avoidSwitchingToSameClassViewController = YES ;
8686 singletonInstance = self;
8787 self.delegate = self;
@@ -270,7 +270,8 @@ - (void)openMenu:(Menu)menu withDuration:(float)duration andCompletion:(void (^)
270270 options: UIViewAnimationOptionCurveEaseOut
271271 animations: ^{
272272 CGRect rect = self.view .frame ;
273- rect.origin .x = (menu == MenuLeft) ? (rect.size .width - MENU_OFFSET) : ((rect.size .width - MENU_OFFSET )* -1 );
273+ CGFloat width = (UIInterfaceOrientationIsLandscape (self.interfaceOrientation )) ? rect.size .height : rect.size .width ;
274+ rect.origin .x = (menu == MenuLeft) ? (width - self.slideOffset ) : ((width - self.slideOffset )* -1 );
274275 [self moveHorizontallyToLocation: rect.origin.x];
275276 // self.view.frame = rect;
276277 }
@@ -360,6 +361,13 @@ - (void)navigationController:(UINavigationController *)navigationController
360361 viewController.navigationItem .rightBarButtonItem = [self barButtonItemForMenu: MenuRight];
361362}
362363
364+ - (CGFloat)slideOffset
365+ {
366+ return (UIInterfaceOrientationIsLandscape (self.interfaceOrientation ))
367+ ? self.landscapeSlideOffset
368+ : self.portraitSlideOffset ;
369+ }
370+
363371#pragma mark - IBActions -
364372
365373- (void )leftMenuSelected : (id )sender
@@ -471,7 +479,7 @@ - (NSInteger)minXForDragging
471479{
472480 if ([self shouldDisplayMenu: MenuRight forViewController: self .topViewController])
473481 {
474- return (self.view .frame .size .width - MENU_OFFSET ) * -1 ;
482+ return (self.view .frame .size .width - self. slideOffset ) * -1 ;
475483 }
476484
477485 return 0 ;
@@ -481,7 +489,7 @@ - (NSInteger)maxXForDragging
481489{
482490 if ([self shouldDisplayMenu: MenuLeft forViewController: self .topViewController])
483491 {
484- return self.view .frame .size .width - MENU_OFFSET ;
492+ return self.view .frame .size .width - self. slideOffset ;
485493 }
486494
487495 return 0 ;
0 commit comments