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