动画块无限循环 - iphone

时间:2010-10-14 12:52:55

标签: iphone animation uiimageview codeblocks

我在处理动画块方面遇到了困难。我试图让第一个动画改变图像的alpha值,使其闪烁,然后在10秒后消失。然后firstAnimation移动到secondAnimation,它只对不同的图像做同样的事情。然后,这个过程无限重复。

我已经和你一起工作了一段时间,并且无法让它无限重复。我遇到的另一个问题是这个动画过程有延迟 - 所以它在20秒后开始,有足够的时间播放音频文件。

- (void) firstAnimation {
            UIViewAnimationOptions options = UIViewAnimationOptionCurveLinear;

            [UIView animateWithDuration:1.0 delay:10.0 options:options animations:^ 
            {
                    myImage.alpha = 0.0;
                    myImage.alpha = 1.0;

            }

                    completion:^(BOOL finished){

                    [self secondAnimation]; 
            }
             ];

    }

一如既往地感谢任何帮助。我搜索了示例代码和教程,但我发现的基本上就是我在上面的代码中所做的。

2 个答案:

答案 0 :(得分:1)

我认为您必须在动画块之外设置alpha的初始值,并且只需要在块内设置动画的值。

UIViewAnimationOptions options = UIViewAnimationOptionCurveLinear;
myImage.alpha = 0.0;
[UIView animateWithDuration:1.0 delay:10.0 options:options animations:^ 
        {
                myImage.alpha = 1.0;

        }

答案 1 :(得分:1)

animateImageWithCount:(int)aCount{
    if( aCount >= [imageArray count]){
        NSLog(@"Done all images");
        return;
    }

    UIImage *myImage = [ImageArray objectAtIndex:aCount];
    UIViewAnimationOptions options = UIViewAnimationOptionCurveLinear;

    myImage.alpha = 0.0;
    [UIView animateWithDuration:1.0 delay:10.0 options:options animations:^{
        myImage.alpha = 1.0;
    }
    completion:^(BOOL finished){
        [self animateImageWithCount:(aCount+1)];
     }];
}