UIImageanimation的图像数组

- (IBAction)didTouchAnimate:(UIButton*)sender { UIImage *starImage = [UIImage imageNamed:@"star.png"]; UIImageView *starView = [[UIImageView alloc] initWithImage:starImage]; [starView setCenter:sender.center]; [UIView animateWithDuration:1.50f delay:0.0f options:UIViewAnimationCurveEaseInOutanimations:^{ [starView setCenter:CGPointMake(+100, +100)]; [starView setAlpha:0.6f]; } completion:^(BOOL finished){ [starView removeFromSuperview]; // points++; // NSLog(@"points: %i", points); }]; [self.view addSubview:starView]; } 

我有一个数组列表。 我怎样才能让这些图像动起来

 Dollars.animationImages = [NSArray arrayWithObjects: [UIImage imageNamed:@"score_animate_0001.png"], [UIImage imageNamed:@"score_animate_0002.png"], [UIImage imageNamed:@"score_animate_0003.png"], [UIImage imageNamed:@"score_animate_0004.png"], [UIImage imageNamed:@"score_animate_0005.png"], [UIImage imageNamed:@"score_animate_0006.png"], [UIImage imageNamed:@"score_animate_0007.png"],nil]; 

本教程将帮助您…

UIImageViewanimation教程

否则,在didTouchAnimate方法中执行此didTouchAnimate

 UIImageView * animatedImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 200,200)]; testArray = [[NSArray alloc] initWithObjects:[UIImage imageNamed:@"test_001.png"], [UIImage imageNamed:@"test_002.png"],[UIImage imageNamed:@"test_001.png"],nil]; animTime =3.0; [animatedImageView setAnimationImages:testArray] ; animatedImageView.animationDuration = animTime; animatedImageView.animationRepeatCount = 1; [self.view addSubview: animatedImageView]; [animatedImageView startAnimating]; 

使用

 - (IBAction)didTouchAnimate:(UIButton*)sender { UIImageView *animatingImageView = [[UIImageView alloc] initWithFrame:some.frame]; animatingImageView.animationImages = Dollars.animationImages; animatingImageView.animationDuration = 10; [animatingImageView startAnimating]; or simply [animatingImageView animatedImagesWithImages:Dollars.animationImages duration:10] } 

使用

 [starView animatedImagesWithImages:Dollars.animationImages duration:10] 

Swift 3.0这里是自定义样式的animation

扩展UIImageView {

 func animate(images: [UIImage], index: Int = 0, duration: TimeInterval, completionHandler: (() -> Void)?) { UIView.transition(with: self, duration: duration / Double(images.count), options: .transitionCrossDissolve, animations: { self.image = images[index] }, completion: { value in let idx = index == images.count-1 ? 0 : index+1 if idx == 0 { completionHandler!() } else { self.animate(images: images, index: idx, duration: duration / Double(images.count),completionHandler: completionHandler) } }) } 

}