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