CABasicAnimation的基本使用
来源:互联网 发布:java发牌程序 编辑:程序博客网 时间:2024/05/22 13:16
CABasicAnimation是关键帧动画,所谓关键帧动画,就是将Layer的属性作为KeyPath来注册,通过指定动画的起始帧和结束帧及其他所需参数,然后自动计算和实现中间的过渡动画的一种动画方式。
- fromValue : 动画开始起始帧
- toValue : 动画结束帧
还可设置duration 等参数.
另附绘制心形动画部分代码如下:
- (void)TheFirstAnimation{ UIBezierPath *_path; //贝塞尔曲线,以下是4个角的位置,相对于_testView1 CGPoint point1= CGPointMake(0, Y); CGPoint point2= CGPointMake(startX, Y); CGPoint point3= CGPointMake(startX+5, Y-20); CGPoint point4= CGPointMake(startX+10, Y+20); CGPoint point5= CGPointMake(startX+15, Y); CGPoint point6= CGPointMake(startX+25, Y-50); CGPoint point7= CGPointMake(startX+35, Y+50); CGPoint point8= CGPointMake(startX+40, Y+10); CGPoint point9= CGPointMake(startX+45, Y+10); CGPoint point10= CGPointMake(startX+50, Y-10); CGPoint point11= CGPointMake(startX+55, Y); CGPoint point12= CGPointMake(centerX-2, Y); CGPoint point0= CGPointMake(ScreenWidth, Y); _path=[UIBezierPath bezierPath]; [_path moveToPoint:point1];//移动到某个点,也就是起始点 [_path addLineToPoint:point2]; [_path addLineToPoint:point3]; [_path addLineToPoint:point4]; [_path addLineToPoint:point5]; [_path addLineToPoint:point6]; [_path addLineToPoint:point7]; [_path addLineToPoint:point8]; [_path addLineToPoint:point9]; [_path addLineToPoint:point10]; [_path addLineToPoint:point11]; [_path addLineToPoint:point12]; //绘制曲线 [_path addQuadCurveToPoint:CGPointMake(centerX, Y-100) controlPoint:CGPointMake(startX+20, Y-130)]; [_path addQuadCurveToPoint:CGPointMake(centerX+2, Y) controlPoint:CGPointMake(centerX+centerX-startX-20, Y-130)]; [_path addLineToPoint:point0]; shapeLayer = [CAShapeLayer layer]; shapeLayer.path=_path.CGPath; shapeLayer.fillColor=[UIColor clearColor].CGColor;//填充颜色 shapeLayer.strokeColor=[UIColor blueColor].CGColor;//边框颜色 [self.view.layer addSublayer:shapeLayer]; //动画 CABasicAnimation *pathAniamtion = [CABasicAnimation animationWithKeyPath:@"strokeEnd"]; // 时间 pathAniamtion.duration = 3; //动画节奏 pathAniamtion.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]; pathAniamtion.fromValue = [NSNumber numberWithFloat:0.0f]; pathAniamtion.toValue = [NSNumber numberWithFloat:100.0];// pathAniamtion.autoreverses = YES; //动画逆方向 pathAniamtion.delegate = self; [shapeLayer addAnimation:pathAniamtion forKey:@"animation1"]; }- (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag{ [shapeLayer removeFromSuperlayer]; [self TheFirstAnimation];}
0 0
- CABasicAnimation的基本使用
- 使用CABasicAnimation的基本使用
- CABasicAnimation的基本使用顺序
- CABasicAnimation的简单使用
- CABasicAnimation的简单使用
- CABasicAnimation动画的使用
- CABasicAnimation 的使用
- CABasicAnimation的使用
- iOS—CABasicAnimation的基本使用方法
- CABasicAnimation 使用
- CABasicAnimation(基础属性动画)的简单使用
- CABasicAnimation 基本动画学习
- CABasicAnimation 基本动画学习
- CABasicAnimation 基本动画学习
- CABasicAnimation 基本动画学习
- CABasicAnimation 基本动画学习
- CABasicAnimation 基本动画
- CABasicAnimation 基本动画学习
- Git命令速记
- 机器学习基石笔记2——在何时可以使用机器学习(2)
- caffe训练中create image数据产生的bug
- 图的遍历,深度优先与广度优先详解
- Android如何判断NavigationBar是否显示(获取屏幕真实的高度)
- CABasicAnimation的基本使用
- 一个链接,让你的网站访客直接和你qq聊天
- 过滤器配置
- 人工智能\机器学习\统计学\数据挖掘之间有什么区别?
- 修改默认滚动条样式
- mysql导入备份数据时出错 ERROR 2005(HY000) unkonw MySQL server host。。。
- Unity3D(五)粒子系统
- bzoj2986 Non-Squarefree Numbers (莫比乌斯函数)
- jQuery的内容过滤选择器