J'essaie de détecter simultanément des balayages de haut en bas sur mon application. J'ai un SKScene et j'ajoute le reconnaisseur de gestes dans func didMoveToView: view
J'ai placé le délégué: UIGestureRecognizerDelegate
, et ai la fonction suivante tous retournant vrai.Utilisation de gestureRecognizer: shouldRecognizeSimultaneousWithGestureRecognizer
gestureRecognizerShouldBegin: gestureRecognizer
gestureRecognizer: shouldRecognizeSimultaneouslyWithGestureRecognizer
gestureRecognizer: shouldReceiveTouch
Quand je Faites glisser votre doigt avec un doigt je peux voir que shouldRecognizeSimultaneouslyWithGestureRecognizer
est tiré et retour vrai. Func attaché au glissement fonctionne également. Mais lorsque j'essaie de balayer dans les deux directions en même temps, les fonctions correspondantes ne sont pas déclenchées et shouldRecognizeSimultaneouslyWithGestureRecognizer
ne sont pas déclenchées.
Les balayages fonctionnent très bien quand je les fais séparément, mais quand en même temps aucun balayage n'est exécuté.
Qu'est-ce que je fais mal ici?
Edit:
class GameControlller: SKScene, SKPhysicsContactDelegate, UIGestureRecognizerDelegate {}
Ajout des grands coups:
override func didMoveToView(view: SKView) {
print("did move to view")
let swipeDown = UISwipeGestureRecognizer(target: self, action: #selector(GameControlller.PaddleMoveUp(_:)))
swipeDown.direction = .Down
self.view!.addGestureRecognizer(swipeDown)
let swipeUp = UISwipeGestureRecognizer(target: self, action: #selector(GameControlller.PaddleMoveDown(_:)))
swipeUp.direction = .Up
self.view!.addGestureRecognizer(swipeUp)
swipeDown.delegate = self
swipeUp.delegate = self
}
Le délégué UIGestureRecognizer func:
func gestureRecognizerShouldBegin(gestureRecognizer: UIGestureRecognizer) -> Bool {
return true
}
func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWithGestureRecognizer otherGestureRecognizer: UIGestureRecognizer) -> Bool {
print("Simultaneous gesture recognizer!")
return true
}
func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldReceiveTouch touch: UITouch) -> Bool {
return true
}
L'erreur n'est probablement pas dans le code que vous nous montrez atm. S'il vous plaît fournir plus de contexte (plus de code). Vous devez avoir fait des erreurs ailleurs. – Coder1000
N'oubliez pas d '«importer QuartzCore» –
QuartzCore ajouté ... pas différent – Starlord