UITableView可以上下拖动,不允许Swipe Gesture?

UITableView can be dragged up and down, not allowing Swipe Gesture?

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

我的问题是:

左右滑动手势正常,但向下滑动手势不工作,为什么?

设置要添加到视图的滑动手势的委托。

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

GestureRecognizerDelegate 询问是否应允许两个手势识别器同时识别手势。 Return true 允许 gestureRecognizerotherGestureRecognizer 同时识别他们的手势。默认实现 returns false——不能同时识别两个手势。实现以下委托来实现这一点。

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
  }
}

向上和向下滑动是 table 视图的默认 属性。我建议您在想要在叠加层上执行某些操作时禁用 table 视图的滚动。

tableView.scrollEnabled = NO;

如果您正在执行特定单元格的拖动,请长按它然后开始拖动。

这就是您实现此目标的方法。

希望对您有所帮助。