J'ai besoin de calculer la direction de glisser une touche, pour déterminer si l'utilisateur fait glisser l'écran, ou en bas de l'écran.Comment suivre le vecteur tactile?
En fait assez simple, non? Mais:
1) doigt baisse, vous obtenez -touchesBegan: withEvent: appelé
2) Il faut attendre doigt se déplace et -touchesMoved: withEvent: est appelée
3) Problème: A ce point qu'il est dangereux de dire si l'utilisateur a fait glisser vers le haut ou vers le bas. Réflexion: Vérifier l'heure et accumuler calcule les vecteurs jusqu'à ce qu'il soit sûr de dire la direction du toucher.
Facile? Non. Pensez-y: que se passe-t-il si l'utilisateur maintient le doigt pendant 5 minutes au même endroit, mais décide alors de monter ou descendre? COUP! Votre code échouerait, car il essayait de déterminer la direction du toucher lorsque le doigt ne bougeait pas vraiment. Problème 2: Lorsque le doigt descend et reste au même endroit pendant quelques secondes parce que l'utilisateur est un peu dans le vent et pense à ce qu'il faut faire maintenant, vous obtiendrez beaucoup de -touchesMoved: withEvent : appels très probable, mais avec des changements très mineurs dans l'emplacement tactile. Donc, ma pensée suivante: Faire l'accumulation dans -touchesMoved: withEvent:, mais seulement si un certain seuil de mouvement a été dépassé.
Je parie que vous avez quelques meilleurs concepts en place?
n'y at-il pas des bibliothèques pour ce genre de chose? –