From 9550d4719b8dfef1667db058548618040f615dc6 Mon Sep 17 00:00:00 2001 From: Anton Date: Thu, 27 Aug 2015 17:11:42 +0300 Subject: [PATCH] Slide menu show new controller after menu closing --- SlideMenu/Source/SlideNavigationController.m | 21 +++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/SlideMenu/Source/SlideNavigationController.m b/SlideMenu/Source/SlideNavigationController.m index f932d84..2e43ceb 100644 --- a/SlideMenu/Source/SlideNavigationController.m +++ b/SlideMenu/Source/SlideNavigationController.m @@ -219,23 +219,30 @@ static SlideNavigationController *singletonInstance; } void (^switchAndCallCompletion)(BOOL) = ^(BOOL closeMenuBeforeCallingCompletion) { - if (poptype == PopTypeAll) { - [self setViewControllers:@[viewController]]; - } - else { - [super popToRootViewControllerAnimated:NO]; - [super pushViewController:viewController animated:NO]; - } + + void (^setNewControllerBlock)() = ^{ + if (poptype == PopTypeAll) { + [self setViewControllers:@[viewController]]; + } + else { + [super popToRootViewControllerAnimated:NO]; + [super pushViewController:viewController animated:NO]; + } + }; if (closeMenuBeforeCallingCompletion) { [self closeMenuWithCompletion:^{ + setNewControllerBlock(); + if (completion) completion(); }]; } else { + setNewControllerBlock(); + if (completion) completion(); }