繁体   English   中英

滑动手势不适用于侧边栏菜单-Swift

[英]Swipe gesture not working properly for side bar menu - Swift

我正在按照本教程创建侧边栏菜单。 我能够成功实现它,并且效果很好。 但是,当我添加多个表视图时,我注意到,当我从视图1转到视图2(请参见下面的故事板)然后又回到视图1时,我无法使用滑动手势打开侧边菜单。 点击功能确实起作用,我可以点击菜单按钮,菜单滑出。

以下是处理滑动代码:

override func viewDidLoad() {
    super.viewDidLoad()

    if self.revealViewController() != nil {
        menuButton.target = self.revealViewController()
        menuButton.action = "revealToggle:"
        self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())
    }
 }

当我在屏幕上从左向右滑动时,上面的代码将产生以下结果:

在此处输入图片说明

在此处输入图片说明

有谁知道为什么会这样吗? 我做了研究,但找不到任何东西。
如果您需要更多信息或问题不清楚,请通知我。

在弄乱了代码之后,我得以解决该问题。 只是让您知道,我不确定是否是理想的解决方案,否则会有更好的解决方案。 如果是这样,请将其发布为答案。

在上面的代码中,您可以看到我正在将滑动手势代码放入viewDidLoad函数中。

将滑动代码移至viewWillAppear函数后,此问题已解决。 请参见下面的代码:

override func viewWillAppear(animated: Bool) {

    if self.revealViewController() != nil {
        menuButton.target = self.revealViewController()
        menuButton.action = "revealToggle:"
        self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())
    }
}

如果您知道解决此问题的更好方法,或者这不是解决此问题的正确方法,请告诉我。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM