【问题标题】:How to close the SideBar menu manually when using SWRevealViewController ( ios)使用 SWRevealViewController ( ios) 时如何手动关闭侧边栏菜单
【发布时间】:2014-12-20 17:52:48
【问题描述】:

我正在尝试使用SWRevealViewController 实现SideBar / 滑出菜单。我有一堆菜单。菜单之一是获取应用程序版本信息。因此,当我单击单元格时,AlertView 会显示版本号,然后按 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
    }
}

【问题讨论】:

  • 我也有同样的问题。我的菜单 Exit 带有警报 YES / NO。按否时,我需要返回相同的菜单。我记得上次打电话给segue(菜单),我又打电话了。

标签: ios xcode uialertview sidebar swrevealviewcontroller


【解决方案1】:

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

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

   }
}

【讨论】:

    【解决方案2】:

    正确答案是:

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

    【讨论】:

    • 首先你必须检查你的菜单是否打开 -> if (revealViewController().frontViewPosition == FrontViewPosition.right)
    【解决方案3】:

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

    self.revealViewController().revealToggleAnimated()
    

    【讨论】:

      【解决方案4】:

      如果左侧边栏使用:

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

      如果在右边使用:

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

      【讨论】:

        【解决方案5】:

        打开就控制,关闭就控制

        if (self.revealViewController().frontViewPosition != FrontViewPosition.left) {
                            self.revealViewController?.revealToggle(animated: true)
                            
              }
        

        【讨论】:

          【解决方案6】:

          //查看是否加载添加了这个 // 斯威夫特 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)
          
          }
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2017-04-08
            • 1970-01-01
            • 2022-01-09
            • 2019-01-25
            • 1970-01-01
            • 2016-01-27
            • 1970-01-01
            • 2020-02-21
            相关资源
            最近更新 更多