Question

En regardant à travers le documentation , il semble que la nouvelle API gestes avancés ne détermine pas la direction d'un coup au-delà de la base {gauche, droite, haut, bas}.

J'ai besoin du point de départ de la swipe et la direction.

Y at-il de toute façon de récupérer cette autre que de coder ma propre bibliothèque de geste avancé à partir de zéro les gestes de base?

Et si cela est ma seule option, quelqu'un pourrait-il me pointer vers un code open source qui fait cela?

Était-ce utile?

La solution

Je l'ai! La documentation est ici , sous ' Création Gesture personnalisée Recognizers en bas.

En fait les six gestes d'Apple fournit tous proviennent de UIGestureRecognizer, et vous pouvez faire votre propre geste de reconnaissance de la même manière.

puis, à l'intérieur init de votre point de vue, vous accrochez votre recogniser. et juste le fait de le brancher réachemine automatiquement les événements tactiles entrants.

En fait, le comportement par défaut est de rendre votre recogniser un observateur de ces événements. Ce qui signifie que votre point de vue les obtient comme avant, et en plus si votre repère un geste de reconnaissance, il déclenchera votre méthode de myCustomEventHandler dans votre vue (vous avez passé son sélecteur lorsque vous accroché votre recogniser).

Mais parfois, vous voulez éviter les événements tactiles originaux d'atteindre le point de vue, et vous pouvez bricoler dans votre recogniser pour le faire. donc il est un peu trompeur de penser comme un « observateur ».

Il y a un autre scénario, où un geste a besoin de manger un autre. Comme vous ne pouvez pas renvoyer un seul clic si votre vue est également apprêté pour recevoir les doubles clics. Vous devez attendre la recogniser double-cliquez pour signaler l'échec. et si elle est réussie, vous devez faire échouer le seul clic - de toute évidence, vous ne voulez pas envoyer à la fois retour

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top