iOS总结-有关CAAnimation

本文主要介绍了iOS中CABasicAnimation的使用,包括关键属性如duration、fromValue/toValue、repeatCount等,并详细解释了keyPath的各种设置,如transform.scale、rotation等。同时提到了如何让动画执行后保持结束状态,以及CAAnimationDelegate的内存管理注意事项。最后提供了CABasicAnimation结合CALayer和CAShaperLayer的示例代码链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有关动画,我们可能用UIView的动画,或是会用到CABasicAnimation比较多一点.
有关CAAnimation的基础知识结构图,我简单画了个图

CABasicAnimation通过设置keyPath来设置类型
duration:动画时长
fromValue/toValue  动画起始位置,根据keypath不同,传值不同.
reaptCount重复次数
设置动画在执行结束后不返回原来位置需设置:
removedOnCompletion = NO   position.fillMode = kCAFillModeForwards; 
keypath属性
 

transform.scale = 比例转换

transform.rotation = 旋转

transform.rotation.x = x轴旋转

transform.rotation.y = y轴旋转

opacity = 透明度

margin = 边距

position = 位移

backgroundColor = 背景颜色

cornerRadius = 圆角

borderWidth = 边框宽度

bounds = 位置,体积

contents = 内容

contentsRect = 面积

frame = 位置,体积

hidden = 是否隐藏

shadowColor = 阴影颜色

shadowOffset = 阴影偏移

shadowOpacity = 阴影透明

shadowRadius = 阴影半径
 

CAAnimationDelegate在CAAnimation中是strong,这对于代理的使用weak,来避免循环引用.
动画是异步的,delegate随时会被释放掉,一般你不会持有一个CAAnimation的强引用.
这是内存管理规则中的一个例外.
CABasicAnimation和CALayer,CAShaperLayer一起.
demo地址:https://github.com/lizhengjin/CAAnimationTest
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值