From d1651f84845ba63e38d2d8be4b27e8823d5b3f7d Mon Sep 17 00:00:00 2001 From: syshen Date: Wed, 30 Jul 2014 14:27:21 +0800 Subject: [PATCH 1/4] determine the orientation from custom code --- .../SASlideMenu/SASlideMenuRootViewController.m | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/SASlideMenu/SASlideMenu/SASlideMenuRootViewController.m b/SASlideMenu/SASlideMenu/SASlideMenuRootViewController.m index 654d108..39518cb 100644 --- a/SASlideMenu/SASlideMenu/SASlideMenuRootViewController.m +++ b/SASlideMenu/SASlideMenu/SASlideMenuRootViewController.m @@ -555,6 +555,20 @@ - (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInte } } +- (UIInterfaceOrientation) preferredInterfaceOrientationForPresentation { + if (self.leftMenu && [self.leftMenu respondsToSelector:@selector(preferredInterfaceOrientationForPresentation)]) + return [self.leftMenu preferredInterfaceOrientationForPresentation]; + return UIInterfaceOrientationPortrait | UIInterfaceOrientationPortraitUpsideDown | UIInterfaceOrientationLandscapeLeft | UIInterfaceOrientationLandscapeRight; +} + +- (NSUInteger) supportedInterfaceOrientations { + if (self.leftMenu && [self.leftMenu respondsToSelector:@selector(supportedInterfaceOrientations)]) { + return [self.leftMenu supportedInterfaceOrientations]; + } + + return UIInterfaceOrientationMaskAll; +} + -(void) viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; } From 8a95c94dbd3a56d809fa66135061c037c6b7120b Mon Sep 17 00:00:00 2001 From: syshen Date: Wed, 30 Jul 2014 14:43:37 +0800 Subject: [PATCH 2/4] shouldAutorotate --- SASlideMenu/SASlideMenu/SASlideMenuRootViewController.m | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/SASlideMenu/SASlideMenu/SASlideMenuRootViewController.m b/SASlideMenu/SASlideMenu/SASlideMenuRootViewController.m index 39518cb..b8a9f1b 100644 --- a/SASlideMenu/SASlideMenu/SASlideMenuRootViewController.m +++ b/SASlideMenu/SASlideMenu/SASlideMenuRootViewController.m @@ -555,6 +555,13 @@ - (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInte } } +- (BOOL) shouldAutorotate { + if (self.leftMenu && [self.leftMenu respondsToSelector:@selector(shouldAutorotate)]) { + return [self.leftMenu shouldAutorotate]; + } + return YES; +} + - (UIInterfaceOrientation) preferredInterfaceOrientationForPresentation { if (self.leftMenu && [self.leftMenu respondsToSelector:@selector(preferredInterfaceOrientationForPresentation)]) return [self.leftMenu preferredInterfaceOrientationForPresentation]; From 6aaa49af749cdf94624a3124a40bd32e8e0fc400 Mon Sep 17 00:00:00 2001 From: syshen Date: Mon, 25 Aug 2014 12:19:53 +0800 Subject: [PATCH 3/4] defer preferStatusBarHidden to menu view control --- SASlideMenu/SASlideMenu/SASlideMenuRootViewController.m | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/SASlideMenu/SASlideMenu/SASlideMenuRootViewController.m b/SASlideMenu/SASlideMenu/SASlideMenuRootViewController.m index b8a9f1b..f08e80e 100644 --- a/SASlideMenu/SASlideMenu/SASlideMenuRootViewController.m +++ b/SASlideMenu/SASlideMenu/SASlideMenuRootViewController.m @@ -576,6 +576,15 @@ - (NSUInteger) supportedInterfaceOrientations { return UIInterfaceOrientationMaskAll; } +- (BOOL) prefersStatusBarHidden { + if (self.leftMenu && [self.leftMenu respondsToSelector:@selector(prefersStatusBarHidden)]) { + return [self.leftMenu performSelector:@selector(prefersStatusBarHidden) withObject:nil]; + } else if (self.rightMenu && [self.rightMenu respondsToSelector:@selector(prefersStatusBarHidden)]) { + return [self.rightMenu performSelector:@selector(prefersStatusBarHidden) withObject:nil]; + } + return NO; +} + -(void) viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; } From 729a14e155365627c15120504b61b82337f6d187 Mon Sep 17 00:00:00 2001 From: syshen Date: Mon, 25 Aug 2014 15:28:07 +0800 Subject: [PATCH 4/4] correct the preferStatusBarHidden call --- SASlideMenu/SASlideMenu/SASlideMenuRootViewController.m | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SASlideMenu/SASlideMenu/SASlideMenuRootViewController.m b/SASlideMenu/SASlideMenu/SASlideMenuRootViewController.m index f08e80e..051910f 100644 --- a/SASlideMenu/SASlideMenu/SASlideMenuRootViewController.m +++ b/SASlideMenu/SASlideMenu/SASlideMenuRootViewController.m @@ -578,9 +578,9 @@ - (NSUInteger) supportedInterfaceOrientations { - (BOOL) prefersStatusBarHidden { if (self.leftMenu && [self.leftMenu respondsToSelector:@selector(prefersStatusBarHidden)]) { - return [self.leftMenu performSelector:@selector(prefersStatusBarHidden) withObject:nil]; + return [self.leftMenu prefersStatusBarHidden]; } else if (self.rightMenu && [self.rightMenu respondsToSelector:@selector(prefersStatusBarHidden)]) { - return [self.rightMenu performSelector:@selector(prefersStatusBarHidden) withObject:nil]; + return [self.rightMenu prefersStatusBarHidden]; } return NO; }