文章标题
2015-09-30 21:16
375 查看
分组动画
CAAnimationGroup:分组动画分组动画的两个特有属性:
1、动画数组 animations
2、启动的时间 beginTime
注意:动画组 设置了动画的持续时间(duration)可能会导致 动画组里的动画持续时间不管用
初始化分组动画:
CAAnimationGroup *animationGroup = [CAAnimationGroup animation]; animationGroup.animations = @[[self rotation], [self dropAnimation]]; animationGroup.duration = 10; // beginTime 动画开始的时间 // CACurrentMediaTime 获得当前的时间 // 从调用这个方法开始 5秒 之后 执行动画 animationGroup.beginTime = CACurrentMediaTime() + 5; animationGroup.removedOnCompletion = NO; animationGroup.fillMode = kCAFillModeBoth; [layer addAnimation:animationGroup forKey:@"animationGroup"];
//选转动画 -(CABasicAnimation *)rotation{ CABasicAnimation *rotation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"]; rotation.toValue = @(M_PI_2*3); rotation.removedOnCompletion = NO; return rotation; }
//掉落 -(CAKeyframeAnimation *)dropAnimation{ CAKeyframeAnimation *drop =[ CAKeyframeAnimation animationWithKeyPath:@"position"]; CGMutablePathRef ref = CGPathCreateMutable(); CGPathMoveToPoint(ref, NULL, layer.position.x, layer.position.y); // CGPathAddCurveToPoint cp1x y cpx y 设置两个点 在这两个点之间画曲线 // x y 终止点 CGPoint endPoint = CGPointMake(50, 600); CGPathAddCurveToPoint(ref, NULL, 160, 280, -30, 300, endPoint.x, endPoint.y); // 设置掉落的路径 drop.path = ref; CGPathRelease(ref); return drop; }
相关文章推荐
- ThinkPHP--聚合函数及having使用细节
- D-S证据理论学习笔记(一)
- C++编译过程中的错误集锦集锦(持续更新)
- 多界面的跳转
- mysql主从同步
- iOS之CoreData
- 面向对象的一大堆
- 网络(第三方)异步请求图片
- Java基础知识强化之IO流笔记14:递归之输出指定目录下所有java文件绝对路径的案例
- 一:redis 的string类型 - 相关操作
- Android基础学习之Notification(通知)
- 为button添加监听事件
- ThinkPHP--各种查询条件设置
- hdu5489 ||2015合肥网络赛1006 dp+离散化树状数组优化
- HDU 2103 水
- 用双重指针做参数传递
- 【学习笔记】c++ 类 重载运算符
- java多线程总结
- SetUniqueList生成不重复元素的List的用法和结果
- cobol text文件的入出力