关闭

CABasicAnimation CAKeyframeAnimation CAAnimationGroup

55人阅读 评论(0) 收藏 举报
分类:

layer添加动画

@interface CALayer : NSObject

//layer添加动画
- (void)addAnimation:(CAAnimation *)anim forKey:(nullable NSString *)key;

在上下文中绘制图层

//NSObject的CALayer代理,NSObject对象可自动调用
@interface NSObject (CALayerDelegate)

- (void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx;

CAAnimation

@interface CAAnimation : NSObject

//代理
@property(nullable, strong) id delegate;
//动画完成是否移除
@property(getter=isRemovedOnCompletion) BOOL removedOnCompletion;
//速度控制函数
@property(nullable, strong) CAMediaTimingFunction *timingFunction;
basic.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];

//同时设置(1)fillMode = kCAFillModeForwards,(2)removedOnCompletion = NO,可使layer停留在动画结束位置    

kCAFillModeForwards;

@interface NSObject (CAAnimationDelegate)

//动画开始调用
- (void)animationDidStart:(CAAnimation *)anim;
//动画结束调用
- (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag;

@protocol CAMediaTiming

//自动返回初始位置
@property BOOL autoreverses;
//持续时间
@property CFTimeInterval duration;
//开始时间
@property CFTimeInterval beginTime;
//时间偏移
@property CFTimeInterval timeOffset;
//重复时间
@property CFTimeInterval repeatDuration;
//重复次数(若设置重复时间,则无用)
@property float repeatCount;
//速度
@property float speed;
//填充样式
@property(copy) NSString *fillMode;
kCAFillModeForwards;    
kCAFillModeBackwards;
kCAFillModeBoth;
kCAFillModeRemoved;

CAPropertyAnimation

@interface CAPropertyAnimation : CAAnimation


//创建带路径的动画
//path:搜索官方文档CALayer Animatable Properties
//对于transform:可具体设置到x,y,z,如"transform.rotation.x"
+ (instancetype)animationWithKeyPath:(nullable NSString *)path;

CABasicAnimation(基本动画)

@interface CABasicAnimation : CAPropertyAnimation

//起点值
@property(nullable, strong) id fromValue;
//终点值
@property(nullable, strong) id toValue;
//过程值
@property(nullable, strong) id byValue;

CAKeyframeAnimation(关键帧动画)

@interface CAKeyframeAnimation : CAPropertyAnimation

//各个动画点数组
@property(nullable, copy) NSArray *values;
封装颜色对象
(__bridge id)([UIColor orangeColor].CGColor)
封装动画对象
+ (NSValue *)valueWithCATransform3D:(CATransform3D)t;
[NSValue valueWithCATransform3D:CATransform3DMakeScale(2, 2, 2)]

CAAnimationGroup(动画组动画)

@interface CAAnimationGroup : CAAnimation

@property(nullable, copy) NSArray<CAAnimation *> *animations;
0
0

猜你在找
【套餐】Hadoop生态系统零基础入门
【套餐】嵌入式Linux C编程基础
【套餐】2017软考系统集成项目——任铄
【套餐】Android 5.x顶级视频课程——李宁
【套餐】深度学习入门视频课程——唐宇迪
【直播】广义线性模型及其应用——李科
【直播】从0到1 区块链的概念到实践
【直播】计算机视觉原理及实战——屈教授
【直播】机器学习之凸优化——马博士
【直播】机器学习&数据挖掘7周实训--韦玮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:5841次
    • 积分:718
    • 等级:
    • 排名:千里之外
    • 原创:70篇
    • 转载:1篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档