swipeGesture是否会阻止touchesBegan()的执行?

时间:2019-05-21 08:22:32

标签: swift sprite-kit

我的问题是,touchesBegan()没有被其他项目调用。因此,我的其他项目一定与众不同。现在我有了主意,下面的代码可以防止调用touchesBegan()

在didMove()

tapRec.addTarget(self, action:#selector(GameScene.tappedView(_:) ))
    tapRec.numberOfTouchesRequired = 1
    tapRec.numberOfTapsRequired = 1
    self.view!.addGestureRecognizer(tapRec)

功能:

@objc func tappedView(_ sender:UITapGestureRecognizer) {

    let point:CGPoint = sender.location(in: self.view)

    print("Single tap")

    print(point)

}

touchesBegan()

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
    for touch in touches {

        let locationUser = touch.location(in: self)

        if self.atPoint(locationUser) == background {
            print("background touch")
        }
    }
}

我想到上面的功能tappedView()是不执行touchesBegan()的罪魁祸首,因为触摸屏幕而不是touchesBegan()时会调用此功能。

有没有一种方法可以同时使用touchesBegan()tappedView()而不互相阻塞?

谢谢。

0 个答案:

没有答案