侧边栏菜单的滑动手势无法正常工作 - Swift

Swipe gesture not working properly for side bar menu - Swift

我正在按照此 tutorial 创建侧边栏菜单。我能够成功地实施它,并且效果很好。但是当我添加多个 table 视图时,我注意到当我从视图 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())
    }
 }

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

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

修改代码后,我解决了这个问题。只是想让你知道我不确定是否是完美的解决方案是否有更好的方法来解决这个问题。如果是这样,请 post 作为答案。

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

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

override func viewWillAppear(animated: Bool) {

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

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