Par définition, un geste de balayage est nécessairement aussi un geste de balayage panoramique, les deux impliquant un mouvement de translation des points de contact. La différence se situe au niveau de la sémantique du système de reconnaissance : un système de reconnaissance du mouvement panoramique recherche le début du mouvement de translation et continue à signaler le mouvement dans n'importe quelle direction au fil du temps, tandis qu'un système de reconnaissance du glissement prend une décision instantanée quant à savoir si les touches de l'utilisateur se sont déplacées linéairement dans la direction requise.
Par défaut, deux logiciels de reconnaissance ne reconnaîtront pas le même geste. Il y a donc un conflit entre le pan et le swipe. Il est fort probable que votre logiciel de reconnaissance du mouvement panoramique "gagne" le conflit car son geste est plus simple / plus général : Un balayage est un balayage mais un balayage peut ne pas être un balayage, donc le balayage est reconnu en premier et exclut les autres reconnaissances.
Vous devriez être en mesure de résoudre ce conflit en utilisant la méthode du délégué gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:
ou peut-être sans délégation, en faisant dépendre la reconnaissance du panoramique de la reconnaissance du glissement avec requireGestureRecognizerToFail:
.
Une fois le conflit résolu, vous devriez être en mesure de simuler un balayage à un doigt en faisant glisser rapidement la souris (bien que la souris soit plus précise que votre doigt, c'est un peu plus délicat que de faire la même chose sur un appareil). Il est possible de faire un panoramique ou un balayage à deux doigts en maintenant les touches Option et Shift.