0

各ボタンのアルファを0.0に回すまでの遅延を試みていますが、機能していません。

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

どのように遅れてアニメーション化するのですか?

4

1 に答える 1

4

遅延はアニメーションを開始するためのものであり、アニメーションブロックの各変更間の遅延ではありません。

配列を使用する代わりに、一連のボタンを用意し、個々の変数を手動で作成することを決定することで、物事を不必要に難しくしました。変数のコレクションがある場合は、通常、それらを何らかのコレクションに格納する必要があります。

それらが配列にある場合にそれを行うことができる1つの方法は次のとおりです。

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;
}
于 2012-10-01T08:15:34.113 に答える