iOS基础动画的KeyPath取值

一 、基础动画

  1、基础动画的属性详解

  注:Core Animation的动画执行过程都是在后台操作的,不会阻塞主线程.

属性解读
Autoreverses 设定这个属性为 YES 时,在它到达目的地之后,动画的返回到开始的值,代替了直接跳转到开始的值,过渡平滑
Duration 设定开始值到结束值花费的时间。期间会被速度的属性所影响
RemovedOnCompletion 这个属性默认为 YES,在指定的时间段完成后,动画就自动的从层上移除了。
FillMode 这个属性一般和 RemovedOnCompletion 配合使用,保持动画状态。其中kCAFillModeForwards 当动画结束后,layer会一直保持着动画最后的状态.此时将RemovedOnCompletion设为NO
Speed 默认的值为 1.0.如果你改变这个值为 2.0,动画会用 2 倍的速度播放。这样的影响就是使持续时间减半。如果你指定的持续时间为 6 秒,速度为 2.0,动画就会播放 3 秒钟即一半的持续时间。
RepeatCount 默认的是 0,动画只会播放一次。如果指定一个无限大的重复次数,使用 MAXFLOAT 。这个不应该和 repeatDration 属性一块使用
RepeatDuration 这个属性指定了动画应该被重复多久。动画会一直重复,直到设定的时间用完。同上它不应该和 repeatCount 一起使用
FromValue 设置动画的初始值
ToValue 设置动画的到达值
TimingFunction 控制动画运行的节奏.    kCAMediaTimingFunctionLinear(线性):匀速,给你一个相对静态的感觉    kCAMediaTimingFunctionEaseIn(渐进):动画缓慢进入,然后加速离开    kCAMediaTimingFunctionEaseOut(渐出):动画全速进入,然后减速的到达目的地    kCAMediaTimingFunctionEaseInEaseOut(渐进渐出):动画缓慢的进入,中间加速,然后减速的到达目的地。这个是默认的动画行为。
BeginTime 可以用来设置动画延迟执行时间,若想延迟1s,就设置为CACurrentMediaTime()+1,CACurrentMediaTime()为图层的当前时间

 

 

 

 

 

 

  

 

 

 

 

 

 

 

 

  

 

 

  

 

  2、基础动画的keyPath

  transform.rotation.x 围绕x轴翻转 参数:角度 angle2Radian(4) 

  transform.rotation.y 围绕y轴翻转 参数:同上 

  transform.rotation.z 围绕z轴翻转 参数:同上 

  transform.rotation 默认围绕z轴 

  transform.scale.x x方向缩放 参数:缩放比例 1.5 

  transform.scale.y y方向缩放 参数:同上 

  transform.scale.z z方向缩放 参数:同上 

  transform.scale 所有方向缩放 参数:同上 

  transform.translation.x x方向移动 参数:x轴上的坐标 100 

  transform.translation.y x方向移动 参数:y轴上的坐标 

  transform.translation.z x方向移动 参数:z轴上的坐标 

  transform.translation 移动 参数:移动到的点 (100,100) 

  opacity 透明度 参数:透明度 0.5 

  backgroundColor 背景颜色 参数:颜色 (id)[[UIColor redColor] CGColor] 

  cornerRadius 圆角 参数:圆角半径 5 

  borderWidth 边框宽度 参数:边框宽度 5 

  bounds 大小 参数:CGRect 

  contents 内容 参数:CGImage 

  contentsRect 可视内容 参数:CGRect 值是0~1之间的小数 

  hidden 是否隐藏 

  position 

  shadowColor 

  shadowOffset 

  shadowOpacity 

  shadowRadius

 

二 、转场动画

  1、转场动画的type
 
  
 
  2、转场动画的subType
 
  
 
  3、转场动画的timingFunction
  •  kCAMediaTimingFunctionLinear            线性,即匀速

  •  kCAMediaTimingFunctionEaseIn            先慢后快

  • kCAMediaTimingFunctionEaseOut           先快后慢

  • kCAMediaTimingFunctionEaseInEaseOut     先慢后快再慢

  •  kCAMediaTimingFunctionDefault           实际效果是动画中间比较快.

原文地址:https://www.cnblogs.com/yang-shuai/p/7131890.html