如何在使用SWRevealViewController(ios)时手动关闭SideBar菜单

问题描述 投票:18回答:5

我正在尝试使用SideBar实现SWRevealViewController / slide out菜单。我有一堆菜单。其中一个菜单是获取应用版本信息。所以当我点击单元格时,一个AlertView显示版本号,按下OK按钮我想关闭/隐藏SideBar菜单并返回到前面的视图(前端控制器)。例如,如果我登录控制器并按下设置按钮以显示侧栏,我从TableView单元格中选择版本菜单,弹出窗口将打开显示版本#,当我按下确定时,SideBar应该关闭并返回到登录屏幕,我不必再次点击设置按钮或滑动返回。当我在警报视图上按“确定”时,如何返回登录屏幕。

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {
    // the user clicked OK
    if (buttonIndex == 0) {

      //close the side bar and return to front view controller
    }
}
ios xcode uialertview sidebar swrevealviewcontroller
5个回答
34
投票

我刚刚想出答案。我只是使用以下代码来隐藏侧栏。

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {
   if (buttonIndex == 0) {
    [self.revealViewController revealToggleAnimated:YES];

   }
}

16
投票

正确答案是:

self.revealViewController().revealToggle(animated: true)

11
投票

如果有人正在寻找swift版本,只需使用这一行:

self.revealViewController().revealToggleAnimated()

2
投票

如果左边的侧边栏使用:

    self.revealViewController().revealToggle(animated: true)

如果在右边使用:

    self.revealViewController().rightRevealToggle(animated: true)

-1
投票

//查看Did load add this // Swift 4.2

func viewDidLoad() {

super.viewDidLoad()
let leftMenuItem = UIBarButtonItem(image: UIImage(named: "menu"), style: .plain, target: revealViewController, action: #selector(SWRevealViewController.revealToggle(_:)))
navigationItem.setLeftBarButton(leftMenuItem, animated: true)

}
© www.soinside.com 2019 - 2024. All rights reserved.