CALayer基本用法

`// pageCurl 向上翻一页 // pageUnCurl 向下翻一页 // rippleEffect 滴水效果 // suckEffect 收缩效果,如一块布被抽走 // cube 立方体效果 // oglFlip 上下翻转效果

//创建动画效果

CATransition *caTransition = [CATransition animation];

//设置过渡动画 cube骰子效果

caTransition.type = @"cube";

//设置动画的过渡方法(向右)

caTransition.subtype = kCATransitionFromRight;

//设置动画时间

caTransition.duration = 0.5;

[self.imageView.layer addAnimation:caTransition forKey:nil];

=======================

//CABasicAnimation 完成缩放

//创建对象

CABasicAnimation *basicAnimation = [CABasicAnimation animation];

//这个对象要执行什么样的效果<缩放Scale>

basicAnimation.keyPath = @"transform.scale";

//设置动画时长

basicAnimation.duration = 0.5;

//设置动画翻转效果

basicAnimation.autoreverses = YES;

//设置动画执行次数

basicAnimation.repeatCount = 2;

//设置动画开始的值<1.0表示保持原状>

basicAnimation.fromValue = [NSValue valueWithCGPoint:CGPointMake(1.0, 1.0)];

//设置动画结束的值<这里的值可以自定义>

basicAnimation.toValue = [NSValue valueWithCGPoint:CGPointMake(1.4, 1.4)];

//将动画对象添加到layer上

[self.imageView.layer addAnimation:basicAnimation forKey:nil];

=============================

//CAKeyFrameAnimation关键帧动画

CAKeyframeAnimation *keyframeAnimation = [CAKeyframeAnimation animation];

//动画走的路线 跟x , y 有关 ,这里面的关键字是position

keyframeAnimation.keyPath = @"position";//代表x y兼容 , 所以也有position.x 或者position.y

//设置动画时长

keyframeAnimation.duration = 1;

keyframeAnimation.repeatCount = 2;//动画次数

//下面就是设置一些点形成一条路线 ,让对象按照点的运行

NSValue *v1 = [NSValue valueWithCGPoint:CGPointMake(20, 100)];

NSValue *v2 = [NSValue valueWithCGPoint:CGPointMake(20, 300)];

NSValue *v3 = [NSValue valueWithCGPoint:CGPointMake(335, 300)];

NSValue *v4 = [NSValue valueWithCGPoint:CGPointMake(335, 100)];

//将这些点加进数组里面  这个动画对象里面有一个数组属性 ---values ,专门放置设置的点

keyframeAnimation.values = @[v1,v2,v3,v4];

//从当前状态开始执行

keyframeAnimation.additive = YES;

//将动画对象加到layer上

[self.imageView.layer addAnimation:keyframeAnimation forKey:nil];

==========================

 //动画组

CAAnimationGroup *group = [CAAnimationGroup animation];

//动画时长

group.duration = 2;

//要执行什么动画

group.animations = @[basicAnimation , keyframeAnimation];

//将动画组放到layer上

[self.imageView.layer addAnimation:group forKey:nil];`

转载于:https://my.oschina.net/u/1590304/blog/475134

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值