2010-04-17 5 views
2

J'ai cherché autour, mais il n'y a pas de bonne réponse pour cette question simple. Donc, je demande à nouveau: comment animer le dessin au trait dans iphone dev?Comment animer le dessin au trait dans le développement de l'iPhone?

Fondamentalement, ce que je veux est quelque chose comme ceci:

@implementation MyUIView 

- (void) triggerLineDrawing: (CGPathRef) path { 
    ... 
    // animate line drawing here 
    // and the line should disappear automatically after a few seconds 
} 

Peut-il être fait?

+0

Que voulez-vous dire par "animer"? Apparaît pixel par pixel? Ou simplement apparaître en changeant l'opacité de complètement transparent à opaque? – bealex

+0

oui, quelque chose comme pixel par pixel. Pas de fondu entrant et sortant. – david

+0

Avez-vous trouvé une bonne solution pour cela? Je cherche à faire la même chose, et la solution de minuterie retarde mon application quelque chose de choquant. Il doit y avoir une meilleure façon! – user700774

Répondre

0

Vous ne pouvez pas le faire automatiquement, seulement à la main. Pour le faire manuellement, vous devriez faire quelque chose comme ceci:

  • créer un tableau de vos points de ligne.
  • démarrer un NSTimer, qui se déclenchera par exemple, 15 fois par seconde.
  • chaque tic-tac d'une horloge, vous devez savoir, quelle partie de la ligne que vous devez dessiner (regarder une interpolation linéaire)
  • chemin de mise à jour que vous dessinez (seulement avec les points nécessaires + un dernier point qui se déplace)
  • envoie le message setNeedsDraw à afficher.

Vous pouvez modifier l'algorithme d'interpolation, la vitesse de dessin au trait, etc. pour obtenir l'effet dont vous avez besoin.