19

我正在尝试SideBar使用SWRevealViewController. 我有一堆菜单。菜单之一是获取应用程序版本信息。因此,当我单击单元格时,AnAlertView会显示版本号,然后按 OK 按钮,我想关闭/隐藏SideBar菜单并返回前一个视图(前控制器)。例如,如果我正在登录控制器并按下设置按钮以显示侧栏并从TableView单元格中选择版本菜单,则会打开一个弹出窗口显示版本#,当我按下确定时,SideBar应该关闭并返回登录无需我再次点击设置按钮或滑动即可返回。当我在警报视图上按 OK 时,如何返回登录屏幕。

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

      //close the side bar and return to front view controller
    }
}
4

6 回答 6

35

我才想出答案。我只是使用下面的代码来隐藏侧边栏。

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

   }
}
于 2014-10-24T20:34:43.227 回答
16

正确答案是:

self.revealViewController().revealToggle(animated: true)
于 2016-12-16T11:42:11.427 回答
11

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

self.revealViewController().revealToggleAnimated()
于 2016-09-06T12:47:28.337 回答
2

如果左侧的侧边栏使用:

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

如果在右边使用:

    self.revealViewController().rightRevealToggle(animated: true)
于 2018-06-09T17:16:05.420 回答
0

控制它是否打开,如果关闭

if (self.revealViewController().frontViewPosition != FrontViewPosition.left) {
                    self.revealViewController?.revealToggle(animated: true)
                    
      }
于 2021-06-18T12:22:52.183 回答
-1

//View 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)

}
于 2019-03-11T08:49:43.453 回答