2009-05-21 8 views
0

Comment voulez-vous animer le dessin d'une ligne dans un UIView sur l'iPhone? Est-ce possible? Il peut être dessiné, mais peut-il être facilement animé de sorte qu'il semble être dessiné à la main?Animer le dessin d'une ligne (Quartz 2D?)

Répondre

2

Il n'y a pas de façon intégrée de le faire non. Vous devez redessiner la ligne à plusieurs reprises, en intercalant entre les points de début et de fin à l'aide d'un rappel de minuterie pour invalider la vue et déclencher un redessin. Bien sûr le redessin devra tout dessiner dans la zone de la vue redessinée qui est potentiellement lente. Ce que je ferais si j'avais une série de lignes que je voulais dessiner sur une période de temps est d'avoir deux sous-vues - elles couvriraient la même zone et la partie supérieure aurait un fond transparent. Faites en sorte que le haut dessine juste la ligne que je suis en train d'animer et quand c'est fini, dessinez-en la totalité dans la vue inférieure. Puis répétez, en animant la ligne suivante dans la vue de dessus.

+0

Pourriez-vous donner un exemple plus détaillé? Un morceau de code, ou un lien vers le code de démonstration? – Allisone

+0

@Allisone probablement le meilleur moyen de le faire est comme il l'a dit mais avec interpole de chaque ** pixel ** et faire une minuterie + animation. –

Questions connexes