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.
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? –
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. –
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. –