ios - 从详细 View Controller 返回时,侧边栏菜单不起作用

标签 ios swift

我正在尝试创建一个侧边栏菜单。侧边栏菜单如下图所示。这个侧边栏菜单工作正常。

enter image description here

但是,我的问题是,当我从 TableView Controller 转到详细 View Controller (图中标题为 smif)并单击返回时,我的侧边栏菜单不再起作用。我正在使用 SWRevealViewController 来使侧边栏菜单正常工作。 enter image description here

可根据要求提供代码。谢谢你!

最佳答案

您是否在详细 View Controller 中将菜单按钮的目标操作设置为 revealToggle:(由 SWRevealViewController 公开的 API)。

示例:Swift3.0

   if revealViewController() != nil {
                sideBarButton.target = revealViewController()
                sideBarButton.action = #selector(SWRevealViewController.revealToggle(_:))
}

更新:

在您的类中添加以下代码:

1-在所有 View Controller 中,在将操作设置为revealToggle()之后添加self.revealViewController().tapGestureRecognizer()

2- 在 MenuController 中添加以下代码:

   override func viewWillAppear(_ animated: Bool) {
        if (self.revealViewController()) != nil{
            self.revealViewController().frontViewController.view.isUserInteractionEnabled = false
        }


    }
    override func viewDidDisappear(_ animated: Bool) {
        if let revealVC = self.revealViewController() {
            revealVC.frontViewController.view.isUserInteractionEnabled = true
        }

    }

关于ios - 从详细 View Controller 返回时,侧边栏菜单不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43554848/

相关文章:

ios - Card.io 导致非公共(public) API 使用

ios - 很难用 Kingfisher 在 Swift 中加载图像

ios - 将 Range<Int> 转换为 Range<String.Index>

swift - 如何在我现有的 XIB 中调用 XIB?

ios - 如何使用swift以编程方式获取设备IMEI号

ios - 为什么 UINavigation 中的 UILabel 不居中

ios - 由于 FirebaseSimpleLogin 已弃用,myRef authUser 返回 "simplelogin:userid"

ios - UITextField becomeFirstReponder 不工作

ios - 如何提取从 Eureka Forms 解析的值?

ios - 使用 Swift 在 Mapbox 中为弹出窗口(语音气泡)创建按钮