J'ai un problème de performance.Comment animer un masque de polygone avec des performances?
J'ai créé un UIView et j'ai écrasé sa fonction drawRect. A cette fonction, je dessinais une image (grosse), et par-dessus, un carré blanc sur tout l'écran avec un polygone à l'intérieur, avec CGContextEOFillPath. Le résultat est un écran blanc avec une partie de l'image (définie par le polygone) affichée. Après cela, j'ai créé une fonction pour animer la transition de ce polygone vers un autre polygone. En plus de l'animation polygonale, l'image doit également être mise à l'échelle et déplacée pour corriger l'image affichée à l'écran. Je l'ai fait avec un NSTimer. L'animation du polygone consiste à calculer la distance entre chaque sommet et à passer ensuite à une position selon elapsedTime. Cela a très bien fonctionné sur le simulateur, mais il a vraiment été bloqué sur l'appareil.
En ce qui concerne les performances, ici, chez stackoverflow, j'ai trouvé l'alternative à utiliser beginAnimations et commitAnimations. Je change tout pour utiliser cette approche avec l'image. Mais que puis-je faire avec le polygone. Le polygone est dessiné avec CGContextMoveToPoint et CGContextAddLineToPoint, donc je crois qu'il ne peut pas être animé avec beginAnimations. Un je corrige? Y a-t-il une meilleure approche pour le faire?
Le résultat souhaité est quelque chose comme cette application lecteur de BD: (. Cliquer sur la visite guidée au milieu de la vidéo, ils montrent le « masquage automatique » caractéristique) http://www.comixology.com/iphoneapp
Merci, je vais essayer cette approche d'abord et si je ne réussis pas, je vais essayer celui d'Adrian. Après ça, je déteste les réponses, d'accord? Merci encore! –