我正在制作一个简单的动画,我有 10 个按钮和一个按钮的“点击”(例如 5)所有按钮应该开始一个接一个地制作动画,但它们同时制作动画,请告诉我什么可以完成或.....谢谢
NSMutableArray* imagesArray = [[NSMutableArray alloc] init];
for (int images = 0; images < 15; images++) {
UIImage* buttonImage = [UIImage imageNamed:[NSString stringWithFormat:@"aaqqq00%02d.png", images]];
[imagesArray addObject:buttonImage];
}
NSArray* reversedAnim = [[imagesArray reverseObjectEnumerator] allObjects];
int buttonTag = button.tag;
for (int images = 1; images <= 10; images++) {
UIButton *animButton = (UIButton *)[self.view viewWithTag:images];
if (images <= buttonTag) {
animButton.imageView.animationImages = imagesArray;
[animButton setImage:
[UIImage imageNamed:@"aaqqq0014.png"] forState:UIControlStateNormal];
animButton.adjustsImageWhenHighlighted = NO;
animButton.imageView.animationDuration = 1; //whatever you want (in seconds)
animButton.imageView.animationRepeatCount = 1;
[animButton.imageView startAnimating];
} else {
if (currentButtonTag_ >= images) {
animButton.imageView.animationImages = reversedAnim;
[animButton setImage:
[UIImage imageNamed:@"aaqqq0000.png"] forState:UIControlStateNormal];
animButton.adjustsImageWhenHighlighted = NO;
animButton.imageView.animationDuration = 0.2; //whatever you want (in seconds)
animButton.imageView.animationRepeatCount = 1;
[animButton.imageView startAnimating];
}
}
}
最佳答案
当你遍历你的循环时,有一个变量来保存所需的延迟,并在每个循环结束时添加到它。我们称此为延迟
。
现在,而不是调用:
[animButton.imageView startAnimating];
这样做:
[animButton.imageView performSelector:@selector(startAnimating) withObject:nil afterDelay:delay];
每个按钮都会在累积延迟后开始动画。
关于ios - 每个循环后都有延迟的按钮图像阵列动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17317661/