2012-07-16 5 views
0

Je souhaite que mon application puisse suivre une personne lorsqu'elle se déplace de 2 dimensions vers le haut. J'ai déjà une vue de défilement vertical, et cela fonctionne, mais quand j'appuie sur un bouton, je veux suivre un petit chiffre de bâton comme il marche verticalement, comment puis-je contrôler cela? J'ai pensé à mettre le scrollview.contentoffset à une certaine position, mais il change juste une fois quand je veux qu'il change de manière fluide. Je suppose que je pourrais faire une minuterie qui met à jour le contentOffSet chaque comme 0,001 secondes ou quelque chose, mais je pensais qu'il y aurait peut-être un meilleur moyen.comment faire un UIScrollView suivre quelque chose?


De plus, alors que je cherchais les méthodes de UIScrollView, l'un d'entre eux était une méthode isTracking, qui est un booléen, et je suppose qu'il retourne oui si le scrollview est quelque chose de suivi, donc étant donné que je suppose il y a une fonctionnalité dans scrollview pour que vous puissiez suivre les choses. En outre, si pour suivre des choses vous devez utiliser quelque chose d'autre cadre qui serait utile de savoir trop

MERCI DE TOUTE AIDE!

Répondre

1

La propriété tracking indique si la vue de défilement suit actuellement le mouvement de l'utilisateur. Donc, cela ne va certainement pas vous aider. (Voir la publication de David H pour une meilleure explication de ce que la propriété indique.)

Toutefois, vous pouvez utiliser setContentOffset:animated: et définir animated à YES. Cela entraîne une transition en douceur vers le nouveau décalage de contenu. Au lieu de calculer un décalage de contenu raisonnable, vous trouverez peut-être plus facile de spécifier une zone qui contient le chiffre du bâton. Si oui, utilisez scrollRectToVisible:animated:. De toute évidence, animated doit être défini sur YES.

+0

exactement ce dont j'avais besoin merci! – bmende

1

1) n'utilisez pas contentOffset = x ;, utilisez "- (void) setContentOffset: (CGPoint) contentOffset animé: (BOOL) animé". Expérimentez combien de fois vous avez besoin d'envoyer ce message, mais je suppose que vous pouvez le faire pas plus de 10 fois par seconde et obtenir de bons résultats. 2) isTracking signifie que l'utilisateur a le doigt sur le scrollView mais n'a pas commencé à le faire glisser. En testant "isTracking" et "isDragging", vous pouvez déterminer si l'utilisateur joue avec votre scrollView ou non.

Questions connexes