2011-09-21 3 views
4

J'ai un graphique de dispersion dans mon application iPad en utilisant Core Plot, et tout fonctionne bien. Ce que je veux faire, c'est animer le dessin de la ligne de sorte qu'il semble que chaque point à pointer sur le graphique soit dessiné devant l'utilisateur. Je ne cherche pas à faire disparaître la ligne car je l'ai déjà fait fonctionner.Animer un traceur central ScatterGraph

J'ai vu la question posée ci-dessous qui est très similaire, mais je ne comprends pas complètement la réponse. Core-Plot - animating a CPScatterPlot

Veuillez noter que je suis nouveau sur Core Plot et que je ne l'utilise que depuis un jour ou deux.

Merci

+0

Comment avez-vous réussi à faire disparaître le "morceau" unique de la ligne? –

Répondre

1

Regardez l'intrigue « de démonstration en temps réel » dans l'exemple d'application Galerie de terrain inclus Terrain de base. Il utilise une minuterie pour ajouter des points à un nuage de points un à la fois. Le code peut être trouvé here.

La méthode ajoute un point au tracé et met à jour la plage de tracé afin que le nouveau point soit visible. L'appel à -insertDataAtIndex:numberOfRecords: provoque l'intrigue pour récupérer le nouveau point de données et redessiner automatiquement.

+0

Cela ne semble pas compiler pour une raison quelconque – FreeG

3
self.plot.anchorPoint = CGPointMake(0.0, 0.0); // Moved anchor point, 

CABasicAnimation *scaling = [CABasicAnimation 
           animationWithKeyPath:@"transform.scale.y"]; // s 
scaling.fromValue = [NSNumber numberWithFloat:0.0]; 
scaling.toValue = [NSNumber numberWithFloat:1.0]; 
scaling.duration = 0.1f; // Duration 
scaling.removedOnCompletion = NO; 
scaling.fillMode = kCAFillModeForwards; 
[self.plot addAnimation:scaling forKey:@"scaling"]; 
+0

Avec cette valeur de durée, l'animation peut être rapide à voir. Augmentez la valeur si c'est le cas. – ThomasW