【问题标题】:Swipe gesture not working properly for side bar menu - Swift侧边栏菜单的滑动手势无法正常工作 - Swift
【发布时间】:2016-02-15 03:40:07
【问题描述】:

我正在关注这个tutorial 来创建一个侧边栏菜单。我能够成功地实现它并且它运行良好。但是当我添加多个表格视图时,我注意到当我从视图 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?
  • @zcui93 在 vi​​ewDidLoad 中是的,对不起,我更新了我的问题。我应该更清楚

标签: ios swift swift2 uipangesturerecognizer swrevealviewcontroller


【解决方案1】:

在弄乱了代码之后,我能够解决问题。只是为了让您知道,我不确定是否是完美的解决方案,是否有更好的方法来解决这个问题。如果是这样,请将其发布为答案。

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

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

override func viewWillAppear(animated: Bool) {

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

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

【讨论】:

    猜你喜欢
    • 2017-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多