Atraso entre animações no Objective C
-
12-12-2019 - |
Pergunta
Estou tentando atrasar a mudança do alfa de cada botão para 0,0, mas o que tenho não está funcionando.
[UIView animateWithDuration:1.5 delay:.25 options:UIViewAnimationCurveLinear animations:^{button.alpha = 0.0;
button2.alpha = 0.0;
button3.alpha = 0.0;
button4.alpha = 0.0;
button5.alpha = 0.0;} completion:^(BOOL finished){ ; }];
Como animar com atraso?
Solução
O atraso é para iniciar a animação, não um atraso entre cada alteração no bloco de animação.
Você tornou as coisas desnecessariamente difíceis para si mesmo ao ter uma sequência de botões e decidir criar variáveis individuais manualmente em vez de usar um array.Se você tiver uma coleção de variáveis, normalmente deverá armazená-las em algum tipo de coleção.
Aqui está uma maneira de fazer isso se eles estivessem em uma matriz:
NSUInteger i = 0;
float duration = 1.5f;
for (UIButton *button in buttons) {
[UIView animateWithDuration:duration delay:0.25f+duration*i UIViewAnimationCurveLinear animations:^{
button.alpha = 0.0f;
} completion:NULL];
++i;
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow