我正在尝试使用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
}
}
我刚刚想出答案。我只是使用以下代码来隐藏侧栏。
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {
if (buttonIndex == 0) {
[self.revealViewController revealToggleAnimated:YES];
}
}
正确答案是:
self.revealViewController().revealToggle(animated: true)
如果有人正在寻找swift
版本,只需使用这一行:
self.revealViewController().revealToggleAnimated()
如果左边的侧边栏使用:
self.revealViewController().revealToggle(animated: true)
如果在右边使用:
self.revealViewController().rightRevealToggle(animated: true)
//查看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)
}