Pergunta

Eu sou novo para o desenvolvimento do iPhone e atualmente estou brincando com recriando uma ferramenta de gráficos I desenvolvido para Silverlight.

Atualmente estou usando um gradiente de 'encher' um retângulo representando um bar dentro de um gráfico. É possível animar este gradiente de modo que muda de cor quando um usuário toca o bar dentro do gráfico.

Eu olhei através das guias de Core Animation fornecidos pela Apple, mas não pode ver uma propriedade que tem como alvo gradientes. Acho que eu poderia usar uma transição a desvanecer-se entre dois retângulos, um dos quais tem a minha inclinação inicial e o segundo com a versão 'tocado', mas isso significaria, obviamente, desenhar vários objetos rect para cada bar com Presumo despesas gerais performace extras.

Todas as idéias?

Foi útil?

Solução

Sim, gradientes de fato você pode animados com o Core Animation.

A classe CAGradientLayer que saiu em 3.0 tem uma boa API para renderizar gradientes em uma camada e animação de cor e cor-stop mudanças também.

eu fiz um post sobre esta classe um pouco para trás, junto com um código de exemplo que está ligada na parte inferior.

Na amostra I animar o gradiente através da construção de um CABasicAnimation, mas você pode animar implicitamente a mudança, bem como, por apenas passando uma nova gama de cores à propriedade cores da camada de gradiente. Use animações implícitas menos que você tenha uma razão para não.

Verifique se para fora e deixe-me saber se você tiver quaisquer perguntas específicas para a interface do usuário que você está tentando animar.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top