Pregunta

Soy nuevo en el desarrollo de iPhone y actualmente estoy jugando con la recreación de una herramienta de gráficos que desarrollé para Silverlight.

Actualmente estoy usando un degradado para 'llenar' un rectángulo que representa una barra dentro de un gráfico. ¿Es posible animar este degradado para que cambie de color cuando un usuario toca la barra dentro del gráfico?

He revisado las guías de Core Animation proporcionadas por Apple, pero no puedo ver una propiedad que se oriente a degradados. Supongo que podría usar una transición para desvanecerse entre dos rectos, uno de los cuales tiene mi gradiente inicial y el segundo con la versión 'tocada', pero esto obviamente significaría dibujar múltiples objetos rect para cada barra con supongo gastos generales de rendimiento adicionales.

¿Alguna idea?

¿Fue útil?

Solución

Sí, de hecho, puedes animar gradientes con Core Animation.

La clase CAGradientLayer que salió en 3.0 tiene una buena API para renderizar gradientes en una capa y animar los cambios de color y parada de color también.

Hice una publicación en esta clase hace un rato atrás, junto con un código de muestra que está vinculado en la parte inferior.

En la muestra, animé el degradado creando una Animación CABasic, pero también puede animar implícitamente el cambio, simplemente pasando una nueva matriz de colores a la propiedad de colores de la capa de degradado. Use animaciones implícitas a menos que tenga una razón para no hacerlo.

Comprueba eso y avísame si tienes alguna pregunta específica sobre la interfaz de usuario que intentas animar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top