- (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];
本教程将帮助你...
的UIImageView动画教程
否则,这样做你的内部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]
雨燕3.0
这是自定义风格的动画:
extension 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)
}
})
}
}