博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Swift - 使用CAKeyframeAnimation实现关键帧动画
阅读量:6224 次
发布时间:2019-06-21

本文共 1065 字,大约阅读时间需要 3 分钟。

1,CAKeyframeAnimation介绍

CAKeyframeAnimation可以实现关键帧动画,这个类可以实现某一属性按照一串的数值进行动画,就像是一帧一帧的制作出来一样。
2,使用样例(设置五个关键点坐标,图片依次按关键点移动)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
let
animation =
CAKeyframeAnimation
(keyPath:
"position"
)
 
//设置5个位置点
let
p1 =
CGPointMake
(0.0, 0.0)
let
p2 =
CGPointMake
(300, 0.0)
let
p3 =
CGPointMake
(0.0, 400)
let
p4 =
CGPointMake
(300, 400)
let
p5 =
CGPointMake
(150, 200)
 
//赋值
animation.values = [
NSValue
(
CGPoint
: p1),
NSValue
(
CGPoint
: p2),
    
NSValue
(
CGPoint
: p3),
NSValue
(
CGPoint
: p4),
NSValue
(
CGPoint
: p5)]
 
//每个动作的时间百分比
animation.keyTimes = [
NSNumber
(float: 0.0),
NSNumber
(float: 0.4),
    
NSNumber
(float: 0.6),
NSNumber
(float: 0.8),
NSNumber
(float: 1.0), ]
 
animation.delegate =
self
animation.duration = 6.0
 
self
.imageView.layer.addAnimation(animation, forKey:
"Image-Move"
)

3,可以设置动画代理,监听开始和结束动作

1
2
3
4
5
6
7
8
9
animation.delegate =
self
 
override
func
animationDidStart(anim:
CAAnimation
!) {
    
println
(
"动画开始"
)
}
 
override
func
animationDidStop(anim:
CAAnimation
!, finished flag:
Bool
) {
    
println
(
"动画结束"
)
}

转载地址:http://qeuna.baihongyu.com/

你可能感兴趣的文章
教你使用dsadd命令一键批量创建OU和用户(包含基础属性信息)
查看>>
第一篇 Python入门(day 1)
查看>>
webpack指南-webpack入门-开始使用webpack
查看>>
列表学习笔记1⃣
查看>>
mysql表、视图、索引(创建、修改、删除)相关示例
查看>>
3 运算符
查看>>
Panoramic 控件设计举例
查看>>
8.5 类的私有变量
查看>>
御未来安全之道 首届C3安全峰会举办
查看>>
pfSense添加子网的几种方式
查看>>
c#判断两个数的大小(2)
查看>>
bind安装过程
查看>>
组策略模板DIY
查看>>
基础编码管理组件 Example 程序
查看>>
安装边缘服务器-part01
查看>>
第十四章:监测和维护活动目录(一)(译自WindowsServer2008ActiveDirectoryResourceKit)
查看>>
Jackson序列化实例
查看>>
Flex入门
查看>>
docker常用的命令(持续更新)
查看>>
LoRa联盟主席:聚焦标准规范+产业生态,全球物联网事实标准初显
查看>>