2010-01-15 9 views
10

He estado buscando en el núcleo de la trama para el iPhone y estoy teniendo problemas para encontrar ejemplos de animación que realmente se utilizan.Core-Plot Ejemplos de animación de iPhone

Lo que necesito ver es un ejemplo de cómo usar la animación núcleo-gráficos para agregar un gráfico extra a un gráfico cuando alguien hace clic en un botón.

Si alguien puede producir y ejemplo, o mostrarme un enlace a uno, sería genial.

Saludos, Craig

Respuesta

13

Las clases oficiales CPAnimation dentro del núcleo Solar son stubs en este momento. En algún momento, habilitaremos la funcionalidad completa de esos.

Mientras tanto, cada elemento visible en Core Plot es un CALayer de Animación Principal, por lo que puede animarlos utilizando los métodos de Animación Core existentes. Por ejemplo, si usted tiene una parcela llamada dataSourceLinePlot (como en la aplicación iPhone Terreno Core prueba), usted podría comenzar la trama con una opacidad de 0,0:

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

y luego animar su opacidad a desaparecer en:

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"]; 

Esto se desvanecerá en un nuevo gráfico en un gráfico existente en un intervalo de un segundo. También podría hacer algo similar para animarlo desde un lado o usar una transformación para escalarlo hasta su posición. Las CATransiciones también podrían usarse para lograr este tipo de efectos.

EDITAR (1/17/2010): La aplicación de prueba Core Plot para iPhone ahora contiene un ejemplo de la animación de fundido de entrada descrita anteriormente.

+0

Brad, he visto cómo funciona su solución en el programa de ejemplo en el código de google. En mi problema, quiero que la animación comience después de hacer clic en un botón, esto no funciona al copiar el código de la animación en el evento de clic de botón. ¿Alguna ayuda? –

+0

No importa dónde se coloque la animación, debería funcionar de la misma manera. ¿Estás seguro de que el clic del botón está activando tu método? En el código de ejemplo, una referencia a dataSourceLinePlot no se mantiene fuera del método -viewDidLoad. Asegúrese de que la referencia a este gráfico sea correcta dentro de su método, para que la animación no se agregue a la capa incorrecta, o sea nula. –

+0

Lo siento Brad, conecté la acción del botón al evento incorrecto (arrastre afuera) ... problemas resueltos. Loving Core-Plot, me encantaría ver más características. –

Cuestiones relacionadas