我正在尝试延迟将每个按钮的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){ ; }];
.

如何使用延迟动画?

有帮助吗?

解决方案

延迟是启动动画,而不是动画块中的每个变化之间的延迟。

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

这是一种方法,如果他们在数组中可以做到这一点:

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top