实现三位旋转动画的方法有很多种,这里介绍三种
一:UIView
1 [UIView animateWithDuration:1.0 animations:^{
2 self.iconView.layer.transform = CATransform3DMakeRotation(M_PI_2, 0, 1, 0);
3 } completion:^(BOOL finished) {
4 self.iconView.image = [UIImage imageNamed:@"user_defaultgift"];
5
6 [UIView animateWithDuration:1.0 animations:^{
7 self.iconView.layer.transform = CATransform3DMakeRotation(M_PI, 0, 1, 0);
8 }];
9 }];
二:CATransition自定义
1 CATransition
2 CATransition *anim = [CATransition animation];
3 anim.duration = 1.0;
4 anim.type = @"rippleEffect";
5 [self.iconView.layer addAnimation:anim forKey:nil];
三:CATransition
1
2 [UIView transitionWithView:self.iconView duration:1.0 options:UIViewAnimationOptionTransitionFlipFromLeft animations:^{
3 self.iconView.image = [UIImage imageNamed:@"user_defaultgift"];
4 } completion:^(BOOL finished) {
5 dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
6 [UIView transitionWithView:self.iconView duration:1.0 options:UIViewAnimationOptionTransitionFlipFromRight animations:^{
7 self.iconView.image = [UIImage imageNamed:@"default_avatar"];
8 } completion:nil];
9 });
10 }];
11 }