IOS 核心动画之CAKeyframeAnimation
来源:互联网 发布:mac制作win7安装盘教程 编辑:程序博客网 时间:2024/04/29 17:01
- IOS 核心动画之CAKeyframeAnimation
- 简单介绍
是CApropertyAnimation的子类,跟CABasicAnimation的区别是:CABasicAnimation只能从一个数值(fromValue)变到另一个数值(toValue),而CAKeyframeAnimation会使用一个NSArray保存这些数值
- 属性解析:
- values:就是上述的NSArray对象。里面的元素称为”关键帧”(keyframe)。动画对象会在指定的时间(duration)内,依次显示values数组中的每一个关键帧
- path:可以设置一个CGPathRef\CGMutablePathRef,让层跟着路径移动。path只对CALayer的anchorPoint和position起作用。如果你设置了path,那么values将被忽略
- keyTimes:可以为对应的关键帧指定对应的时间点,其取值范围为0到1.0,keyTimes中的每一个时间值都对应values中的每一帧.当keyTimes没有设置的时候,各个关键帧的时间是平分的
- 说明:CABasicAnimation可看做是最多只有2个关键帧的CAKeyframeAnimation
- Values方式:
- CAKeyframeAnimation *animation = [CAKeyframeAnimation animation];
animation.keyPath = @"position";
NSValue *value1=[NSValue valueWithCGPoint:CGPointMake(100, 100)];
NSValue *value2=[NSValue valueWithCGPoint:CGPointMake(200, 100)];
NSValue *value3=[NSValue valueWithCGPoint:CGPointMake(200, 200)];
NSValue *value4=[NSValue valueWithCGPoint:CGPointMake(100, 200)];
NSValue *value5=[NSValue valueWithCGPoint:CGPointMake(100, 100)];
animation.values=@[value1,value2,value3,value4,value5]; animation.repeatCount=MAXFLOAT;
animation.removedOnCompletion = NO;
animation.fillMode = kCAFillModeForwards;
animation.duration = 4.0f;
animation.timingFunction=[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
animation.delegate=self;
[self.myView.layer addAnimation:animation forKey:nil];
- Path方式:
- CAKeyframeAnimation *animation = [CAKeyframeAnimation animation];
animation.keyPath = @"position";
CGMutablePathRef path=CGPathCreateMutable();
CGPathAddEllipseInRect(path, NULL, CGRectMake(150, 100, 100, 100));
animation.path=path;
CGPathRelease(path);
animation.repeatCount=MAXFLOAT;
animation.removedOnCompletion = NO;
animation.fillMode = kCAFillModeForwards;
animation.duration = 4.0f;
animation.timingFunction=[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
animation.delegate=self;
[self.myView.layer addAnimation:animation forKey:nil];
- keyPath可以使用的key
- #define angle2Radian(angle) ((angle)/180.0*M_PI)
- transform.rotation.x 围绕x轴翻转 参数:角度 angle2Radian(4)
transform.rotation.y 围绕y轴翻转 参数:同上
transform.rotation.z 围绕z轴翻转 参数:同上
transform.rotation 默认围绕z轴
transform.scale.x x方向缩放 参数:缩放比例 1.5
transform.scale.y y方向缩放 参数:同上
transform.scale.z z方向缩放 参数:同上
transform.scale 所有方向缩放 参数:同上
transform.translation.x x方向移动 参数:x轴上的坐标 100
transform.translation.y x方向移动 参数:y轴上的坐标
transform.translation.z x方向移动 参数:z轴上的坐标
transform.translation 移动 参数:移动到的点 (100,100)
opacity 透明度 参数:透明度 0.5
backgroundColor 背景颜色 参数:颜色 (id)[[UIColor redColor] CGColor]
cornerRadius 圆角 参数:圆角半径 5
borderWidth 边框宽度 参数:边框宽度 5
bounds 大小 参数:CGRect
contents 内容 参数:CGImage
contentsRect 可视内容 参数:CGRect 值是0~1之间的小数
hidden 是否隐藏
position
shadowColor
shadowOffset
shadowOpacity
shadowRadius
*
- iOS 核心动画之CAKeyFrameAnimation
- IOS 核心动画之CAKeyframeAnimation
- IOS 核心动画之CAKeyframeAnimation
- IOS 核心动画之CAKeyframeAnimation - iBaby
- IOS 核心动画之CAKeyframeAnimation - iBaby
- 核心动画之 CAKeyframeAnimation
- 核心动画 -- CAKeyframeAnimation
- iOS核心动画-关键帧动画CAKeyframeAnimation
- IOS 之关键帧动画-CAKeyframeAnimation
- IOS动画之 CAKeyframeAnimation跟CABasicAnimation
- iOS之CAKeyframeAnimation关键帧动画详解
- CAKeyframeAnimation-核心动画-帧动画
- iOS学习笔记-077.核心动画03——CAKeyframeAnimation(关键帧动画)
- IOS-swift 动画02 CAKeyframeAnimation
- IOS 之 CAKeyframeAnimation
- 七 iOS之 CAKeyFrameAnimation
- Core Animation(核心动画)CABasicAnimation CAKeyframeAnimation CAAnimationGroup
- 【iOS开发-动画】CAKeyframeAnimation创建动画
- js回车键实现登录
- 从AVFrame中取出音频裸数据到一个buffer中
- 灵活布置、可二次开发的乌云公开漏洞及知识库搜索
- 血的教训···········复用那些事
- tomcat跑到一半不动了
- IOS 核心动画之CAKeyframeAnimation
- 自定义TabBar条,实现重写TabBar的TabBarItem,然后在中间额外加一个按钮
- Ajax学习笔记
- Objective-C-iOS常用小控件(UIAlertView)警告框
- Activity的setContentView()方法源码分析
- 手掌与拳头检测
- (0003) iOS 开发之App 适配iOS 10
- sparksql基础应用
- 使用ajax和window.history.pushState无刷新改变页面内容和地址栏URL