2010-01-15 14 views
10

Ho esaminato la trama principale per l'iPhone e ho difficoltà a trovare qualsiasi esempio di animazione effettivamente utilizzata.Core-Plot Esempi di animazioni per iPhone

Quello che devo vedere è un esempio di come utilizzare l'animazione core-plot per aggiungere un grafico extra a un grafico quando qualcuno fa clic su un pulsante.

Se qualcuno può produrre ed esempio, o mostrarmi un collegamento ad uno, sarebbe fantastico.

saluti, Craig

risposta

13

Le classi CPAnimation ufficiali all'interno Nucleo Plot sono solo Stub in questo momento. A un certo punto, consentiremo la piena funzionalità di quelli.

Nel frattempo, ogni elemento visibile in Core Plot è un Core Animation CALayer, quindi è possibile animarli utilizzando i metodi di animazione core esistenti. Ad esempio, se si dispone di un complotto chiamato dataSourceLinePlot (come nell'applicazione iPhone Plot Nucleo di prova), si potrebbe iniziare la trama fuori con un'opacità del 0.0:

dataSourceLinePlot.opacity = 0.0f; 
[graph addPlot:dataSourceLinePlot]; 

e poi animare la sua opacità a svanire in:

CABasicAnimation *fadeInAnimation = [CABasicAnimation animationWithKeyPath:@"opacity"]; 
fadeInAnimation.duration = 1.0f; 
fadeInAnimation.removedOnCompletion = NO; 
fadeInAnimation.fillMode = kCAFillModeForwards; 
fadeInAnimation.toValue = [NSNumber numberWithFloat:1.0]; 
[dataSourceLinePlot addAnimation:fadeInAnimation forKey:@"animateOpacity"]; 

Questo dissolverà in un nuovo grafico su un grafico esistente su un intervallo di un secondo. Puoi anche fare qualcosa di simile per animarlo da un lato o usare una trasformazione per ridimensionarlo in posizione. Le CAT possono essere utilizzate anche per ottenere questo tipo di effetti.

EDIT (1/17/2010): L'applicazione di prova per iPhone Core Plot contiene ora un esempio dell'animazione di dissolvenza descritta sopra.

+0

Brad, ho visto come funziona la soluzione nel programma di esempio su google code. Nel mio problema voglio che l'animazione si avvii dopo un clic del pulsante, questo non funziona copiando il codice dell'animazione nell'evento click del pulsante. Qualsiasi aiuto? –

+0

Non importa dove si trova l'animazione, dovrebbe funzionare allo stesso modo. Sei sicuro che il clic sul pulsante stia innescando il tuo metodo? Nel codice di esempio, un riferimento a dataSourceLinePlot non viene mantenuto al di fuori del metodo -viewDidLoad. Assicurati che il riferimento a questo grafico sia corretto all'interno del tuo metodo, in modo che l'animazione non venga aggiunta al livello sbagliato o a zero. –

+0

Scusa Brad, avevo collegato l'azione del pulsante all'evento sbagliato (trascinamento esterno) ... i problemi risolti. Loving Core-Plot, mi piacerebbe vedere più funzionalità. –