利用CABasicAnimation制作简单动画

CABasicAnimation

CABasicAnimation是一个类,它继承于CAPropertyAnimation。它可以用来创建比较简单的动画,比如:位置的移动,图片大小的变化等。

而比较复杂的动画,可以利用简单动画的叠加实现。

CABasicAnimation自带的三个属性是:

@property(nullable, strong) id fromValue;
@property(nullable, strong) id toValue;
@property(nullable, strong) id byValue;

而一般我们创建一个CABasicAnimation的实例,是利用继承于它的父类CAPropertyAnimation的方法:

+ (instancetype)animationWithKeyPath:(nullable NSString *)path;

实例化所用KeyPath

在实例化一个CABasicAnimation时,发现后面需要一个(nullable NSString *)path值,以下对KeyPath做一个汇总:

以下都是可以针对指定轴(x,y,z轴之一),添加动画效果

KeyPath 作用
transform.rotation 绕x,y,z轴旋转
transform.scale 按比例缩放
transform.translation 平移
position 平面上中心点位置的改变

比如设置一个绕x轴旋转的动画,可以这样设置:

CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.x"];

注:position是针对平面的,故只能 position.x 和 position.y

以下是单一添加动画效果

KeyPath 作用
opacity 透明度
backgroundColor 背景色
cornerRadius 圆角
borderWidth 边框
shadowColor 阴影颜色
shadowOffset 阴影偏移量
shadowOpacity 阴影透明度
shadowRadius 阴影圆角
shadowColor 阴影颜色

还有一个特例

添加动画效果,还有一个特例bounds,改变它的KeyPath如下。

KeyPath 作用
bounds.size 改变体积大小
bounds.size.width 改变体积的宽
bounds.size.height 改变体积的高
bounds.origin.x 改变位置的x值
bounds.origin.y 改变位置的y值

设置动画属性

讲完动画的实例化,就要讲讲动画要添加改变的属性了。
先放上一些重要属性的汇总表吧。

属性 作用
fromValue 动画的起始属性
toValue 动画结束属性
repeatCount 动画执行次数
repeatDuration 设置动画的时间
autoreverses 动画结束时是否执行逆动画
removedOnCompletion 动画结束后,是否会回到开始的值
fillMode 动画填充方式
duration 动画时长

设置动画的Value

fromValuetoValue是设置动画的起始和结束属性,这个属性,于创建动画时所用的KeyPath有关。

比如:
KeyPathtransform.scale(缩放)时,要这样设置属性:

    CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"transform.scale"];
    // 设置缩放倍数
    animation.fromValue = [NSNumber numberWithF
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值