Core Animation 之CAAnimation

CALayer层就是真正绘制UIView所要展示的东西
CALayer 是继承与NSObject的,所以他是 不具备响应 的。而 UIView是继承与UIResponder 的,UIResponder本身 可以提供事件响应 ,再用CALayer给他绘制一个图像,那一个具有响应事件的对象就诞生了,他就是我们的UIView。

CAAnimation

通过他的 4个子类 ,我们可以 实现很多绚丽的动画效果
1. CABasicAnimation用来 创建基于两个状态的动画,一 个初始状态一个终止状态
CABasicAnimation * animaiton = [CABasicAnimation animationWithKeyPath:@"position"]; 
animaiton.removedOnCompletion = NO; 
animaiton.fillMode = kCAFillModeForwards; 
animaiton.duration = 2; 
animaiton.toValue = [NSValue valueWithCGPoint:CGPointMake(400, 400)];
 [redView.layer addAnimation:animaiton forKey:nil];

2. CAKeyframeAnimation和 CABasicAnimation的不同点在于他可以 指定多个状态 ,不局限于始末状态,这样 你的动画将更加灵活。
CAKeyframeAnimation * animation = [CAKeyframeAnimation animationWithKeyPath:@"position"]; 
animation.values = @[[NSValue valueWithCGPoint:CGPointMake(0, 0)],[NSValue valueWithCGPoint:CGPointMake(100, 100)],[NSValue valueWithCGPoint:CGPointMake(0, 200)]]; animation.duration = 2
 animation.removedOnCompletion = NO; 
animation.fillMode = kCAFillModeForwards;
 [redView.layer addAnimation:animation forKey:@"keyframe"];

3. CAAnimationGroup
CABasicAnimation和 CAKeyframeAnimation 多组动画嵌套执行
group.animations = @[ CAKeyframeAnimation , CABasicAnimation ];


3. CATransition





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值