MFSideMenu in secondary viewController

I need to use MFSideMenu on all pages of my application. Now works in the first viewController, but when I select a function in the menu, the button is present in the NavigationBar, but it doesn't work ...

How can I use this object?

I add to all my .h

- (IBAction)showRightMenuPressed:(id)sender;

      

and all over my .m

    - (IBAction)showRightMenuPressed:(id)sender {
    [self.menuContainerViewController toggleRightSideMenuCompletion:nil];
   }

      

+3


source to share


2 answers


MFSideMenuContainerViewController has properties like leftMenuViewController , centerViewController , etc ... All you have to do is put the menuviewController element as LeftMenuViewController and navigationController as it is centerViewController

  MenuViewController *VC = [[MenuViewController alloc] init];
  ListViewController *ListVC = [[ListViewController alloc] init];
  TBNavigationController *NavigationVC = [[TBNavigationController alloc] initWithRootViewController:ListVC];

  /*
   Set the NavigationControllers as the ViewControllers of MFSideMenuContainer and make the MFSideMenuContainer as window rootview.
   */

  MFSideMenuContainerViewController *container = [MFSideMenuContainerViewController
                                                  containerWithCenterViewController:NavigationVC
                                                  leftMenuViewController:VC rightMenuViewController:nil];
  [[AppDelegate appDelegate].window setRootViewController:container];

      



Now add as many VCs to the navigationController as needed.

+1


source


-(IBAction)btnClkSide:(id)sender{
    [self.menuContainerViewController toggleLeftSideMenuCompletion:^{
        [self setupMenuBarButtonItems];
    }];
    //    SlideMenuOpem;
}
- (void)setupMenuBarButtonItems {
    self.navigationItem.rightBarButtonItem = [self rightMenuBarButtonItem];
    if(self.menuContainerViewController.menuState == MFSideMenuStateClosed &&
       ![[self.navigationController.viewControllers objectAtIndex:0] isEqual:self]) {
        self.navigationItem.leftBarButtonItem = [self backBarButtonItem];
    } else {
        self.navigationItem.leftBarButtonItem = [self leftMenuBarButtonItem];
    }
}

- (UIBarButtonItem *)leftMenuBarButtonItem {
    return [[UIBarButtonItem alloc]
            initWithImage:[UIImage imageNamed:@"menu-icon.png"] style:UIBarButtonItemStyleBordered
            target:self
            action:@selector(leftSideMenuButtonPressed:)];
}

- (UIBarButtonItem *)rightMenuBarButtonItem {
    return [[UIBarButtonItem alloc]
            initWithImage:[UIImage imageNamed:@"menu-icon.png"] style:UIBarButtonItemStyleBordered
            target:self
            action:@selector(rightSideMenuButtonPressed:)];
}

      



0


source







All Articles