Animer le dessin d'une ligne (Quartz 2D?)
-
23-08-2019 - |
Question
Comment feriez-vous animant le dessin d'une ligne dans un UIView sur l'iPhone? Est-ce possible? Il peut être établi, mais peut-il facilement être animés de sorte qu'il semble être dessiné à la main?
La solution
Avec la nouvelle API vous pouvez le faire facilement, en utilisant la propriété strokeEnd
de CGPath.
Vous pouvez lire plus de détails ici: Quelle est la meilleure façon d'animer une ligne
Autres conseils
Il n'y a aucun moyen intégré pour le faire pas. Il faudrait redessiner la ligne à plusieurs reprises, interpolation entre les points de départ et de fin à l'aide d'un rappel de minuterie pour invalider la vue et de déclencher un nouveau tracé. Bien sûr, le redessiner devrait tirer tout dans le domaine de la vue apporter redessinée qui est potentiellement lent.
Qu'est-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 - ils couvriraient la même zone et celle du haut aurait un fond transparent. Avoir le haut un match nul juste la ligne que je suis actuellement Animer et quand il est fini, dessine toute la longueur de celui-ci dans la vue inférieure. Répétez ensuite, animant la ligne suivante dans la vue de dessus.