Pan Gesture 正在工作,但 ONTapGesture 不在 UIView 上工作

UIPanGesture is Working but UITapGesture Is not Working on UIView

我有一个小视图,我想在屏幕上移动并且可以点击。所以我添加了一个 UIPanGestureRecognizer 来移动它,并添加了一个 UITapGestureRecognizer 来接收点击事件,如下所示:

        let panner = UIPanGestureRecognizer(target: self, action: #selector(panDidFire(panner:)))
        playerViewController.view.addGestureRecognizer(panner)

        let tapper = UITapGestureRecognizer(target: self, action: #selector(viewTapped(tapper:)))
        playerViewController.view.addGestureRecognizer(tapper)

我在同一个文件中创建动作

    func viewTapped(tapper: UITapGestureRecognizer){
         fadeInButtons()
    }
    func panDidFire(panner: UIPanGestureRecognizer) {
        let offset = panner.translation(in: view)
        panner.setTranslation(CGPoint.zero, in: view)
        var center = playerViewController.view.center
        center.x += offset.x
        center.y += offset.y
        playerViewController.view.center = center
    }

panDidFire() 函数在用户平移时被调用,但 viewTapped() 函数根本没有被调用。

这有什么技巧吗?我究竟做错了什么?还有另一种方法吗?

我正在使用 Xcode 8 和 swift 3

您必须设置您的识别器才能与视图上的其他手势识别器一起工作。请使用 UIGestureRecognizerDelegate

方法
gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWithGestureRecognizer otherGestureRecognizer: UIGestureRecognizer) -> Bool
{
   return true
}