我正在开发应用程序,其中我使用MFSIDEMENU显示右侧边栏,但此菜单在3个屏幕后出现, 第一个屏幕是登录然后屏幕1和屏幕2屏幕3之后屏幕3我显示侧面菜单选项。但是现在我想给出注销选项。我尝试通过说pop到rootviewcontroller然后它把我带到了那个屏幕上我点击了那个菜单。假设我在第7个屏幕上单击了该菜单btn并且在这里和那里旅行并点击了退出按钮它没有带我登录屏幕。 注意:我在每个屏幕上显示侧面菜单选项,在每个屏幕上添加以下代码,这可能是错误的方式。 在
-(void)viewdidlaod
[self setupMenuBarButtonItems];
然后
#pragma mark -
#pragma mark - UIBarButtonItems
- (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 *)rightMenuBarButtonItem { // menu-icon.png
return [[UIBarButtonItem alloc]
initWithImage:[UIImage imageNamed:@""]
style:UIBarButtonItemStyleBordered
target:self action:@selector(rightSideMenuButtonPressed:)];
}
- (UIBarButtonItem *)backBarButtonItem {
return [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"back-arrow"]
style:UIBarButtonItemStyleBordered
target:self
action:@selector(backButtonPressed:)];
}
#pragma mark -
#pragma mark - UIBarButtonItem Callbacks
- (void)backButtonPressed:(id)sender {
[self.navigationController popViewControllerAnimated:YES];
}
- (void)leftSideMenuButtonPressed:(id)sender {
[self.menuContainerViewController toggleLeftSideMenuCompletion:^{
[self setupMenuBarButtonItems];
}];
}
- (void)rightSideMenuButtonPressed:(id)sender {
[self.menuContainerViewController toggleRightSideMenuCompletion:^{
[self setupMenuBarButtonItems];
}];
}
答案 0 :(得分:0)
__block UINavigationController *aNv = nil;
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"userDetail"];
[[NSUserDefaults standardUserDefaults] synchronize];
if ([[AppDelegate sharedInstance].window.rootViewController isKindOfClass:[MFSideMenuContainerViewController class]]) {
SigninVC *objSigninVC = [storyboard instantiateViewControllerWithIdentifier:@"SigninVC"];
aNv = [[UINavigationController alloc] initWithRootViewController:objSigninVC];
[AppDelegate sharedInstance].window.rootViewController = aNv;
} else {
[self.navigationController popToRootViewControllerAnimated:YES];
[AppDelegate sharedInstance].window.rootViewController = self.navigationController;
}
[self.menuContainerViewController setMenuState:MFSideMenuStateClosed];