From 7717ac6af214db587023b650fb443b5f43d9485e Mon Sep 17 00:00:00 2001 From: Garrett Disco Date: Sun, 24 May 2015 04:12:08 -0500 Subject: [PATCH] Bar buttons now update when changed --- SlideMenu/Source/SlideNavigationController.m | 24 ++++++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/SlideMenu/Source/SlideNavigationController.m b/SlideMenu/Source/SlideNavigationController.m index 2efcdba..81509c1 100644 --- a/SlideMenu/Source/SlideNavigationController.m +++ b/SlideMenu/Source/SlideNavigationController.m @@ -662,17 +662,21 @@ - (void)postNotificationWithName:(NSString *)name forMenu:(Menu)menu [[NSNotificationCenter defaultCenter] postNotificationName:name object:nil userInfo:userInfo]; } +- (void)setBarButtonItemsForViewController:(UIViewController*)viewController { + if ([self shouldDisplayMenu:MenuLeft forViewController:viewController]) + viewController.navigationItem.leftBarButtonItem = [self barButtonItemForMenu:MenuLeft]; + + if ([self shouldDisplayMenu:MenuRight forViewController:viewController]) + viewController.navigationItem.rightBarButtonItem = [self barButtonItemForMenu:MenuRight]; +} + #pragma mark - UINavigationControllerDelegate Methods - - (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated { - if ([self shouldDisplayMenu:MenuLeft forViewController:viewController]) - viewController.navigationItem.leftBarButtonItem = [self barButtonItemForMenu:MenuLeft]; - - if ([self shouldDisplayMenu:MenuRight forViewController:viewController]) - viewController.navigationItem.rightBarButtonItem = [self barButtonItemForMenu:MenuRight]; + [self setBarButtonItemsForViewController:viewController]; } - (CGFloat)slideOffset @@ -882,4 +886,14 @@ - (void)setRightMenu:(UIViewController *)rightMenu _rightMenu = rightMenu; } +- (void)setLeftBarButtonItem:(UIBarButtonItem *)leftBarButtonItem { + _leftBarButtonItem = leftBarButtonItem; + [self setBarButtonItemsForViewController:self.topViewController]; +} + +- (void)setRightBarButtonItem:(UIBarButtonItem *)rightBarButtonItem { + _rightBarButtonItem = rightBarButtonItem; + [self setBarButtonItemsForViewController:self.topViewController]; +} + @end