iOS动画-定时对UIView进行翻转和抖动的方法
时间:2021-02-05 09:40:00|栏目:iOS代码|点击: 次
(翻转)方式一:
[NSTimer scheduledTimerWithTimeInterval:3.f repeats:YES block:^(NSTimer * _Nonnull timer) {
CABasicAnimation* rotationAnimation = [CABasicAnimation animation];;
rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.y"];
rotationAnimation.toValue = [NSNumber numberWithFloat: M_PI * 2.0 ];
rotationAnimation.duration = 1;
// 切换界面保证动画不停止
rotationAnimation.removedOnCompletion = NO;
rotationAnimation.repeatCount = 1;
[self.bindCardImageView.layer addAnimation:rotationAnimation forKey:@"rotationAnimation"];
}];
(翻转)方式二(这种方式较好一些):
CABasicAnimation *waitAnimation = [CABasicAnimation animation];
waitAnimation.toValue = [NSNumber numberWithFloat:1.0];
waitAnimation.duration = 3.f;
waitAnimation.beginTime = 3.f;
CABasicAnimation* rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.y"];
rotationAnimation.toValue = [NSNumber numberWithFloat: M_PI * 2.0 ];
rotationAnimation.duration = 1.f;
CAAnimationGroup *group = [CAAnimationGroup animation];
group.duration = 4.f;
group.repeatCount = CGFLOAT_MAX;
group.removedOnCompletion = NO;
[group setAnimations:@[waitAnimation, rotationAnimation]];
[self.bindCardImageView.layer addAnimation:group forKey:@"bindCardImageViewAnimation"];
抖动:
CABasicAnimation* shake = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"]; //设置抖动幅度 shake.fromValue = [NSNumber numberWithFloat:-0.2]; shake.toValue = [NSNumber numberWithFloat:+0.2]; shake.duration = 0.1; shake.autoreverses = YES; //是否重复 shake.repeatCount = 3; [itemView.iconImageView.layer addAnimation:shake forKey:@"imageView"];
栏 目:iOS代码
下一篇:iOS应用程序中通过dispatch队列控制线程执行的方法
本文标题:iOS动画-定时对UIView进行翻转和抖动的方法
本文地址:http://www.codeinn.net/misctech/57682.html






