如何注销MFSideMenu

时间:2014-11-28 10:51:46

标签: ios objective-c

我正在开发应用程序,其中我使用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];
 }];
 }

1 个答案:

答案 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];