iOS动画-定时对UIView进行翻转和抖动的方法

时间:2021-05-02

(翻转)方式一:

? 1 2 3 4 5 6 7 8 9 10 [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"]; }];

(翻转)方式二(这种方式较好一些):

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 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"];

抖动:

? 1 2 3 4 5 6 7 8 9 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动画-定时对UIView进行翻转和抖动的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章