From 4c1d5f8065b6f6bf56d361b1b67952d0b7c61814 Mon Sep 17 00:00:00 2001 From: Nate Date: Wed, 6 Aug 2014 12:50:24 -0700 Subject: [PATCH] Fixing unresponsive unwind segues in iOS 8 --- MMDrawerController/MMDrawerController.m | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/MMDrawerController/MMDrawerController.m b/MMDrawerController/MMDrawerController.m index 480145c4..f67a4e75 100644 --- a/MMDrawerController/MMDrawerController.m +++ b/MMDrawerController/MMDrawerController.m @@ -674,6 +674,30 @@ -(BOOL)automaticallyForwardAppearanceAndRotationMethodsToChildViewControllers{ return NO; } +- (UIViewController *)viewControllerForUnwindSegueAction:(SEL)action fromViewController:(UIViewController *)fromViewController withSender:(id)sender +{ + NSMutableArray *childViewControllersByPriority = [NSMutableArray arrayWithObject:self.centerViewController]; + + if (self.leftDrawerViewController) { + [childViewControllersByPriority addObject:self.leftDrawerViewController]; + } + if (self.rightDrawerViewController) { + [childViewControllersByPriority addObject:self.rightDrawerViewController]; + } + + for (UIViewController *childViewController in childViewControllersByPriority) { + UIViewController *unwindViewController = [childViewController viewControllerForUnwindSegueAction:action + fromViewController:fromViewController + withSender:sender]; + + if (unwindViewController) { + return unwindViewController; + } + } + + return [super viewControllerForUnwindSegueAction:action fromViewController:fromViewController withSender:sender]; +} + #pragma mark - View Lifecycle - (void)viewDidLoad {