core Animation之CAAnimationGroup(动画群组)
2024-10-12 01:27:03
可以保存一组动画对象,将CAAnimationGroup对象加入层后,组中所有动画对象可以同时并发运行
属性解析:
animations:用来保存一组动画对象的NSArray
默认情况下,一组动画对象是同时运行的,也可以通过设置动画对象的beginTime属性来更改动画的开始时间
#import "ViewController.h" @interface ViewController () @property(nonatomic,strong)UIButton *btn; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; self.btn=[UIButton buttonWithType:UIButtonTypeCustom]; self.btn.frame=CGRectMake(50, 100, 80, 60); [self.btn setTitle:@"按钮" forState:UIControlStateNormal]; [self.btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; [self.btn addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:self.btn]; } -(void)btnClick:(id)sender { CABasicAnimation *a1 = [CABasicAnimation animation]; a1.keyPath = @"transform.translation.y"; a1.toValue = @(100); // 缩放动画 CABasicAnimation *a2 = [CABasicAnimation animation]; a2.keyPath = @"transform.scale"; a2.toValue = @(2.0); // 旋转动画 CABasicAnimation *a3 = [CABasicAnimation animation]; a3.keyPath = @"transform.rotation"; a3.toValue = @(-3.1415926/4); // 组动画 CAAnimationGroup *groupAnima = [CAAnimationGroup animation]; groupAnima.animations = @[a1, a2, a3]; //设置组动画的时间 groupAnima.duration = 2; groupAnima.fillMode = kCAFillModeForwards; groupAnima.removedOnCompletion = NO; [self.btn.layer addAnimation:groupAnima forKey:nil]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; } @end
最新文章
- php解析.csv文件
- C#知识点总结系列:4、C#中Monitor和Lock以及区别
- Linux第三周——跟踪分析内核的启动过程
- [deviceone开发]-echart的简单报表示例
- Qt 文件处理
- java抽象类和接口的区别
- CSS总结 最后的选择符和字体、元素常见样式
- Ubuntu14.04环境下Samba报错排错过程
- centos性能监控系列一:常用监控命令
- sqlservice 查询该字段的值是否为数字、不包含a-z字母、获取中文的首字母
- Swift - 16 - String.Index和Range
- PCB打样镀层问题
- PHP实现一个简单url路由功能
- Apache Spark 2.2.0 中文文档 - Spark RDD(Resilient Distributed Datasets)论文 | ApacheCN
- nginx 安装、启动、重启、关闭 (linux系统命令行)
- 修复FFMPEG 复用 PAT、PMT发送间隔小于25ms的错误
- golang lua使用示例
- iPhone屏幕尺寸说明及iPhone在微信上的一些表现
- Python利用PIL生成随机验证码图片
- WebAPI使用Token进行验证