【问题标题】:SWRevealViewController not toggle with swift 3SWRevealViewController 不能用 swift 3 切换
【发布时间】:2016-09-22 17:20:25
【问题描述】:

我使用的是 swift 2.1 的代码

override func viewDidLoad() {
        super.viewDidLoad()

        if revealViewController() != nil {
            menuButton.target = revealViewController()
            menuButton.action = "revealToggle:"

            view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())
        }
    }

现在,我正在使用Swift3

override func viewDidLoad() {
        super.viewDidLoad()

        if revealViewController() != nil {
            menuButton.target = revealViewController()
            menuButton.action = #selector(SWRevealViewController.revealToggle(_:))
            view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())
        }
    }

2.1 版的代码可以完美运行,但实际上revealToggle 不会在swift3 中执行。

有人知道如何解决吗?

【问题讨论】:

标签: ios swift3


【解决方案1】:

这是 Swift 3 中 SWRevealViewController 的解决方案:

    if revealViewController() != nil {
        menuButton.target = self.revealViewController()
        menuButton.action = #selector((SWRevealViewController.revealToggle) as (SWRevealViewController) -> (Void) -> Void) // Swift 3 fix
        view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())
    }

祝你好运!

【讨论】:

  • 您好兄弟 Pro,我尝试使用您的代码。我的问题在这里stackoverflow.com/questions/42573338/…。在我尝试使用您的代码后,左侧菜单未显示,它转到主视图控制器。
  • 嗨 May Phyu,您是否尝试过上述针对 Swift 3 的解决方案?此解决方案仅适用于 Swift 3。另外,您是否按照所示尝试了上面的第三行代码?
  • ButtonAction 可能有这个答案?
  • @MangiReddy 嗨,虽然我还没有厌倦 Button,但这应该是可能的。
  • @Pro 不能用于按钮。我试过了,但没有为我工作。
猜你喜欢
  • 2015-01-23
  • 2017-05-18
  • 2017-05-05
  • 2018-03-31
  • 2016-04-23
  • 1970-01-01
  • 2017-08-01
  • 2016-07-09
  • 1970-01-01
相关资源
最近更新 更多