0

我试图在将每个按钮的 alpha 转换为 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

延迟是启动动画,而不是动画块中每次更改之间的延迟。

通过拥有一系列按钮并决定手动创建单个变量而不是使用数组,您给自己带来了不必要的困难。如果您有一组变量,通常应该将它们存储在某种集合中。

如果它们在数组中,这是一种方法:

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 回答