文档章节

IOS开发CAKeyframeAnimation的基本使用与keypath的列举

dspidery
 dspidery
发布于 2015/12/25 17:01
字数 376
阅读 670
收藏 0

CAKeyframeAnimation跟CABasicAnimation的区别是:CABasicAnimation只能从一个数值(fromValue)变到另一个数值(toValue),而CAKeyframeAnimation会使用一个NSArray保存这些数值

- (void)value
{
    CAKeyframeAnimation *anim = [CAKeyframeAnimation animation];
    
    // 设置动画属性
    anim.keyPath = @"position";
    
    NSValue *v1 = [NSValue valueWithCGPoint:CGPointZero];
    
    NSValue *v2 = [NSValue valueWithCGPoint:CGPointMake(160, 160)];
    
    NSValue *v3 = [NSValue valueWithCGPoint:CGPointMake(270, 0)];
    
    anim.values = @[v1,v2,v3];
    
    anim.duration = 2;
    
    [_redView.layer addAnimation:anim forKey:nil];
}
-(void)path
{
 
    
    CAKeyframeAnimation *anim = [CAKeyframeAnimation animation];
    
    // 设置动画属性
    anim.keyPath = @"position";
    
    
    UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0, 0, 200, 200)];
    
    anim.path = path.CGPath;
    
    anim.duration = 0.25;
    
    // 取消反弹
    anim.removedOnCompletion = NO;
    
    anim.fillMode = kCAFillModeForwards;
    
    anim.repeatCount = MAXFLOAT;
    
    [_redView.layer addAnimation:anim forKey:nil];
}
keyPath可以使用的key 
#define angle2Radian(angle) ((angle)/180.0*M_PI) 

transform.rotation.x 围绕x轴翻转 参数:角度 angle2Radian(5) 
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


© 著作权归作者所有

dspidery
粉丝 1
博文 19
码字总数 2937
作品 0
杨浦
私信 提问
IOS开发UI篇--动画(Core Animation)总结

一、简介 IOS 动画主要是指Core Animation框架。官方使用文档地址为:Core Animation Guide。 Core Animation是IOS和OS X平台上负责图形渲染与动画的基础框架。Core Animation可以作用与动画...

lewis-180
2015/07/29
0
0
iOS核心动画小结(swift)

本文所有示例代码都是Swift4,参看文末链接 Core Animation是IOS和OS X平台上负责图形渲染与动画的基础框架。Core Animation可以作用与动画视图或者其他可视元素,为你完成了动画所需的大部分...

Andy_Ron
2018/05/29
0
0
从简单的基础动画到复杂的组动画,使用一目了然

动画在iOS的开发中经常使用,它的介绍网上有很多,不再赘述,这里只提供一张图片: 动画类 从上图可以看出,CAAnimation是所有动画类的父类,但是我们不能直接使用这个父类,而应该使用它的子...

manofit
2018/03/30
302
1
iOS 学习资料整理

视频教程(英文) Developing iOS 7 Apps for iPhone and iPad 斯坦福开放教程之一, 课程主要讲解了一些 iOS 开发工具和 API 以及 iOS SDK 的使用, 属于 iOS 基础视频 iPad and iPhone Applic...

拉偶有所依
2015/01/19
2.2K
4
2018 iOS 面试题大全(补充完整版)

原文地址:2018 iOS 面试题大全 由于原作者并没有继续更新,这里我转过来继续更新下 这个栏目将持续更新--请iOS的小伙伴关注! 1、iOS 应用导航模式有哪些? 2、iOS 中持久化方式有哪些? 3、...

Theendisthebegi
2018/11/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

protoc 编译工具

在进行开发 protoc 之前,你需要首先在你的计算机中安装 protoc 编译工具。 下载编译工具 进入 Protocol Buffers 的源代码中然后选择发布的版本中,找到对应的版本。项目的链接地址为:https...

honeymoose
今天
1
0
uniapp + bootstrapvue 移动/PC 一套搞定 (一)配置bootstrapvue

1.准备文件 自己到DCloud官网: http://dcloud.io/ 去下载官方的IDE Hbuilder,新建一个空的uniapp项目即可。 uniapp框架自带优化的vue,我们仅仅需要准备以下三个文件: bootstrap.min.css ...

panyunxing
今天
10
0
Android Camera原理之camera service类与接口关系

camera service主要是指 frameworks/av/services/camera/下面的代码,最近在看这一块的代码,为了更好地理清这一块的代码,也为了后续学习camera方便一些,我觉得很有必要理一下这一块的整体...

天王盖地虎626
今天
2
0
Golang学习笔记

[TOC] Golang学习笔记 这个学习笔记是最早在1.初,版本左右的时候写的,和当前最新的版本可能会有较大的差异. 因为成文比较早,文章里面又有很多自己的见解,有些东西当时理解的不太透彻可能写错...

我爱吃炒鸡
今天
14
0
科技赋能成效显著!金融壹账通两大赋能项目荣获IDC大奖

7月19日,2019IDC中国未来金融论坛曁颁奖典礼于北京举办。由金融壹账通赋能的长春农商银行多人视频面审智能风控系统、包头农商银行互联网银行SaaS服务两大项目因在项目的创新性、技术领先性、...

IFTNews
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部