Domanda

Sto cercando di ritardare tra la trasformazione dell'alfa a 0.0 di ciascun pulsante, ma quello che ho non funziona.

[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){ ; }];
.

Come si anima con un ritardo?

È stato utile?

Soluzione

Il ritardo è quello di avviare l'animazione, non un ritardo tra ciascuna modifica nel blocco di animazione.

Hai reso le cose inutilmente difficili da solo avendo una sequenza di pulsanti e decidere di creare manualmente le variabili individuali invece di usare un array.Se hai una raccolta di variabili, di solito dovresti conservarle in una raccolta di qualche tipo.

Ecco un modo in cui potresti farlo se fossero in un array:

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;
}
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top