我是 Swift 的初学者,正在尝试向我的 UIView 添加滑动手势识别器。我已将渐变 CALayer 插入到索引 0 以获得渐变背景。

我的问题是:

左右滑动手势可以正常工作,但对于向下滑动则不起作用,为什么?

最佳答案

设置要添加到 View 的滑动手势的委托(delegate)。

let swipeGesture = UISwipeGestureRecognizer(target: self, action: Selector("handleSwipe:"))
swipeGesture.delegate = self
self.view.addGestureRecognizer(swipeGesture)
self.mySwipeGesture = swipeGesture

GestureRecognizerDelegate 询问是否应该允许两个手势识别器同时识别手势。返回 true 以允许gestureRecognizer 和otherGestureRecognizer 同时识别他们的手势。默认实现返回 false — 不能同时识别两个手势。实现以下委托(delegate)来实现这一点。
extension ViewController : UIGestureRecognizerDelegate {
  func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWithGestureRecognizer otherGestureRecognizer: UIGestureRecognizer) -> Bool {
    //Identify gesture recognizer and return true else false.
    return gestureRecognizer.isEqual(self.mySwipeGesture) ? true : false
  }
}

关于ios - UITableView 可以上下拖动,不允许滑动手势?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38494092/

10-13 07:31
查看更多