下面小编就为大家带来一篇iOS动画-定时对UIView进行翻转和抖动的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
(翻转)方式一:
[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动画-定时对UIView进行翻转和抖动的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程学习网。
沃梦达教程
本文标题为:iOS动画-定时对UIView进行翻转和抖动的方法


猜你喜欢
- 详解flutter engine 那些没被释放的东西 2022-12-04
- Android studio实现动态背景页面 2023-05-23
- Android实现监听音量的变化 2023-03-30
- Android MaterialButton使用实例详解(告别shape、selector) 2023-06-16
- iOS 对当前webView进行截屏的方法 2023-03-01
- SurfaceView播放视频发送弹幕并实现滚动歌词 2023-01-02
- 作为iOS开发,这道面试题你能答出来,说明你基础很OK! 2023-09-14
- 最好用的ios数据恢复软件:PhoneRescue for Mac 2023-09-14
- Android实现轮询的三种方式 2023-02-17
- Flutter实现底部和顶部导航栏 2022-08-31