Vous savez probablement que l'OS de l'iPhone fait un retard artificiel d'environ 0.25 secondes après une toucheBegan: survient. C'est pour vérifier si l'utilisateur a l'intention de se déplacer ou non. Si les deltas bougent suffisamment pendant ce temps, une séquence touchesMoved: démarre. Toutefois, lorsque vous souhaitez appliquer un comportement au toucher tactile dans votre application, vous ne voulez peut-être pas attendre plus longtemps. Il a l'air si moche! Vous commencez à bouger quelque chose, et pendant 0,3 secondes rien ne se passe. Ensuite, BANG et le tout commence à bouger d'un grand coup. Cela arrive chaque fois qu'une nouvelle séquence tactile avec mouvement commence. Cela craint sérieusement. Bien sûr, dans certaines situations, il est nécessaire parce que vous pouvez vouloir déterminer si l'utilisateur a vraiment l'intention de se déplacer. mais pas sur un curseur de construction personnalisée ou tout autre type de contrôle tactile qui fonctionne en suivant les mouvements tactiles.Est-il possible de tirer pour les points de contact immédiatement après les touchesBegan: est appelé?
Donc, après avoir compris que cela se produit intentionnellement par iPhone OS, je voudrais savoir comment surmonter ce problème. Je ne peux pas prédire le mouvement car l'utilisateur pourrait se déplacer vers la gauche ou vers la droite. Je ne sais pas cela dans touchesBegan :. 0,3 seconde est juste suffisant pour rendre l'application ne répond pas.
Cependant, il semble y avoir de l'espoir: Convertbot n'a absolument aucun problème avec cela. La roue tourne immédiatement en le touchant et en le déplaçant. Il n'y a pas de décalage, pas de retard. J'ai demandé dans leur blog comment ils l'ont fait, mais aucune réponse pour le moment.
J'espère qu'il y a un moyen de retirer manuellement les coordonnées tactiles du système. Lorsque touchesBegan:, je commencerais un intervalle qui tire à 60hz jusqu'à touchesMoved: prend des mesures.
Alors la plus grande question sur cette planète: "Comment est-ce possible"?
Je voudrais faire un Bounty avec ça. Mais il semble que je ne peux pas? –
"BANG! Le tout commence à bouger avec un gros flip!" Je suis à la recherche d'une solution pour cela aussi. – bobobobo
Nous avons tous été mordu par cela à un moment je pense. J'ai posé une question à ce sujet il y a un moment, mais je n'ai pas réalisé que c'était les touchesMoves qui étaient retardées qui provoquaient la saccade dans mon animation (je pensais que c'était le code de rendu réel). Ce qui me dérange vraiment, c'est que UIScrollView récupère immédiatement les mouvements - ils sont super doux. – U62