延迟目标C中的动画

时间:2012-10-01 08:07:35

标签: iphone objective-c animation xcode4.5

我试图在将每个按钮的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){ ; }];

如何制作延迟动画?

1 个答案:

答案 0 :(得分: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;
}