Swift未触发触碰如果刷卡,则开始触碰

Swift未触发触碰如果刷卡,则开始触碰,swift,touchesbegan,Swift,Touchesbegan,您好,我有一个swift应用程序,每次触摸都开始调用一个函数,但是如果用户正在刷卡,我不希望触摸开始被调用。我怎样才能避免这种情况 接触开始了: override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) { //function call } 另外,我不想做结束的触摸,因为这会增加延迟,我不能让你的UIViewController的view成为一个自定义类并在那里处理这些触摸-它们应该以

您好,我有一个swift应用程序,每次触摸都开始调用一个函数,但是如果用户正在刷卡,我不希望触摸开始被调用。我怎样才能避免这种情况

接触开始了:

override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) {
//function call
}

另外,我不想做结束的触摸,因为这会增加延迟,我不能让你的UIViewController的view成为一个自定义类并在那里处理这些触摸-它们应该以你尝试的方式接收,但只能在UIView类本身中接收。

如果你想从触摸中分离滑动,你可以用delaysTouchesBegan轻松地完成方法,例如:

        let swipeRight:UISwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: Selector("swipedRight:"))
        swipeRight.direction = .Right
        swipeRight.cancelsTouchesInView = true
        swipeRight.delaysTouchesBegan = true
        view.addGestureRecognizer(swipeRight)


        let swipeLeft:UISwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: Selector("swipedLeft:"))
        swipeLeft.direction = .Left
        swipeLeft.cancelsTouchesInView = true
        swipeLeft.delaysTouchesBegan = true
        view.addGestureRecognizer(swipeLeft)


        let swipeUp:UISwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: Selector("swipedUp:"))
        swipeUp.direction = .Up
        swipeUp.cancelsTouchesInView = true
        swipeUp.delaysTouchesBegan = true
        view.addGestureRecognizer(swipeUp)


        let swipeDown:UISwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: Selector("swipedDown:"))
        swipeDown.direction = .Down
        swipeDown.cancelsTouchesInView = true
        swipeDown.delaysTouchesBegan = true
        view.addGestureRecognizer(swipeDown)
在viewDidLoad或didMoveToView中(如果您在spritekit场景中)

并分别制定了以下方法:

func swipedRight(sender:UISwipeGestureRecognizer){
   print("swiped right")
}

func swipedLeft(sender:UISwipeGestureRecognizer){
   print("swiped left")
}

func swipedUp(sender:UISwipeGestureRecognizer){
   print("swiped up")
}

func swipedDown(sender:UISwipeGestureRecognizer){
   print("swiped down")
}
然后,您可以使用官方委托方法控制触摸,如:

override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
...// handle your touches..
}
覆盖函数触摸开始(触摸:设置,withEvent事件:UIEvent?){
…//处理好你的触摸。。
}
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
...// handle your touches..
}