J'apporte une fonctionnalité à une application iPhone et je pourrais utiliser l'aide la plus rapide/efficace pour résoudre ce problème:Façon la plus rapide/la plus efficace de dessiner des bulles vocales à l'écran - CoreAnimation, Quartz2D?
Dans la moitié supérieure de mon écran, j'ai des bulles (pensez BD) qui traduisent UIImageViews à travers l'écran (position dynamique x & y). C'est un UIImageView parce qu'il y a une image comme arrière-plan de la bulle de dialogue.
Chaque bulle a une image correspondante se déplaçant autour du bas de l'écran (ailleurs dans l'arborescence de la couche)
je voudrais attirer une queue (ce bit de triangle à partir d'une bulle) de sorte que le point de la triangle suit l'image inférieure, la base du triangle étant attachée au bas de la UIImageView supérieure. (techniquement, la base ne doit pas être contrecarrée, elle peut se chevaucher tant que je peux faire correspondre la couleur de mon image de fond au triangle).
J'ai déjà fait tout le suivi & tracé une ligne avec les méthodes CGContextStrokePath, et maintenant je suis coincé sur la façon de remplacer la ligne avec un triangle.
J'ai regardé dessiner un triangle en Quartz et le remplir. Mon souci est le repositionnement des bulles de parole tous les 1/10e de seconde, et il semble que dessiner juste la ligne utilisée pour la preuve de concept ait un impact assez sévère sur la performance/la douceur visuelle. Une idée que j'ai est de faire la trigonométrie moi-même, et étirer & tourner une image d'un triangle pour relier chacune de ces bulles avec le point inférieur. Quelque chose me dit qu'il y a une solution plus efficace/plus élégante, mais je ne suis pas capable de la voir à travers la documentation. Toute aide sur la façon dont vous avez ou aborderiez cette question est appréciée. Merci.
Vous pouvez également vérifier - [calayer setContents: (id) someCGImageRef] comme une chose plus rapide (mais un peu hacky) au lieu de l'UIImageView ... –