我在处理动画块方面遇到了困难。我试图让第一个动画改变图像的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];
}
];
}
一如既往地感谢任何帮助。我搜索了示例代码和教程,但我发现的基本上就是我在上面的代码中所做的。
答案 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)];
}];
}