二级 MFSideMenu viewController
MFSideMenu in secondary viewController
我需要在我的应用程序的所有页面中使用 MFSideMenu。现在在第一个 viewController 中工作,但是当我 select 在菜单中运行时,该按钮出现在 NavigationBar 中,但它不起作用...
如何使用这个对象?
我添加了我所有的 .h
- (IBAction)showRightMenuPressed:(id)sender;
在我所有的 .m
- (IBAction)showRightMenuPressed:(id)sender {
[self.menuContainerViewController toggleRightSideMenuCompletion:nil];
}
MFSideMenuContainerViewController 具有 leftMenuViewController、centerViewController 等属性...所有你必须要做的是放置一个 menuviewController 因为它是 LeftMenuViewcontroller 和一个 navigationController 因为它是 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's rootview.
*/
MFSideMenuContainerViewController *container = [MFSideMenuContainerViewController
containerWithCenterViewController:NavigationVC
leftMenuViewController:VC rightMenuViewController:nil];
[[AppDelegate appDelegate].window setRootViewController:container];
现在继续根据需要向 navigationController 添加尽可能多的 VC。
-(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:)];
}
我需要在我的应用程序的所有页面中使用 MFSideMenu。现在在第一个 viewController 中工作,但是当我 select 在菜单中运行时,该按钮出现在 NavigationBar 中,但它不起作用...
如何使用这个对象?
我添加了我所有的 .h
- (IBAction)showRightMenuPressed:(id)sender;
在我所有的 .m
- (IBAction)showRightMenuPressed:(id)sender {
[self.menuContainerViewController toggleRightSideMenuCompletion:nil];
}
MFSideMenuContainerViewController 具有 leftMenuViewController、centerViewController 等属性...所有你必须要做的是放置一个 menuviewController 因为它是 LeftMenuViewcontroller 和一个 navigationController 因为它是 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's rootview.
*/
MFSideMenuContainerViewController *container = [MFSideMenuContainerViewController
containerWithCenterViewController:NavigationVC
leftMenuViewController:VC rightMenuViewController:nil];
[[AppDelegate appDelegate].window setRootViewController:container];
现在继续根据需要向 navigationController 添加尽可能多的 VC。
-(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:)];
}