三维旋转动画
实现三位旋转动画的方法有很多种,这里介绍三种
一: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 }
时间: 2024-10-01 06:23:09