【问题标题】:Using gestureRecognizer: shouldRecognizeSimultaneouslyWithGestureRecognizer使用手势识别器:应该与手势识别器同时识别
【发布时间】:2016-05-07 14:06:59
【问题描述】:

我正在尝试在我的应用上同时检测上下滑动。我有一个 SKScene,我在 func didMoveToView: view 添加手势识别器 我已经设置了委托:UIGestureRecognizerDelegate,并让以下函数全部返回 true。

gestureRecognizerShouldBegin: gestureRecognizer
gestureRecognizer: shouldRecognizeSimultaneouslyWithGestureRecognizer
gestureRecognizer: shouldReceiveTouch

当我用一根手指滑动时,我可以看到 shouldRecognizeSimultaneouslyWithGestureRecognizer 被触发并返回 true。附加到滑动的功能也可以正常工作。

但是当我尝试同时在两个方向上滑动时,不会触发相应的 func 并且不会触发 shouldRecognizeSimultaneouslyWithGestureRecognizer。

当我单独执行滑动时,滑动效果很好,但同时没有执行滑动时。

我在这里做错了什么?

编辑:

class GameControlller: SKScene, SKPhysicsContactDelegate, UIGestureRecognizerDelegate {}

添加滑动:

 override func didMoveToView(view: SKView) {
    print("did move to view")
    let swipeDown = UISwipeGestureRecognizer(target: self, action: #selector(GameControlller.PaddleMoveUp(_:)))
    swipeDown.direction = .Down
    self.view!.addGestureRecognizer(swipeDown)

    let swipeUp = UISwipeGestureRecognizer(target: self, action: #selector(GameControlller.PaddleMoveDown(_:)))
    swipeUp.direction = .Up
    self.view!.addGestureRecognizer(swipeUp)
    swipeDown.delegate = self
    swipeUp.delegate = self
}

UIGestureRecognizer 委托函数:

func gestureRecognizerShouldBegin(gestureRecognizer: UIGestureRecognizer) -> Bool {
    return true
}


 func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWithGestureRecognizer otherGestureRecognizer: UIGestureRecognizer) -> Bool {
    print("Simultaneous gesture recognizer!")
    return true
}
func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldReceiveTouch touch: UITouch) -> Bool {
    return true
}

【问题讨论】:

  • 错误可能不在您向我们展示 atm 的代码中。请提供更多上下文(更多代码)。你一定是在别处犯了错误。
  • 别忘了import QuartzCore
  • 添加了 QuartzCore...没有什么不同

标签: ios swift uigesturerecognizer simultaneous


【解决方案1】:

我猜你忘记设置委托了:

swipeUp.delegate = self
swipeDown.delegate = self

【讨论】:

  • 我现在得到了委托......但我的行为没有什么不同
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-04
相关资源
最近更新 更多