iOS - 属性动画

属性动画->通过改变图层或者视图上面的属性值(支持动画的属性)产生的动画

属性动画的常用方法属性:

1、初始化+(instancetype)animationWithKeyPath:(nullableNSString *)path

path需要产生动画的属性

如:中心点->移动

2、keyPath描述动画的属性

可以改变属性的动画:

transform.scale =比例转换

transform.scale.x

transform.scale.y

transform.rotation.z

opacity =透明度

zPosition

backgroundColor背景颜色

cornerRadius圆角

borderWidth边框的宽度

bounds

contents内容

contentsRect

frame

hidden

masksToBounds

opacity

position

shadowColor

shadowOffset

shadowOpacity

shadowRadius

基础动画:CABasicAnimation

介绍:通过改变某个属性的值到某个值->只能设置两个值->产生的动画

fromValue开始值如果不设置不会返回到初始位置

toValue结束值

byValue通过哪个值

核心动画:CAAnimation是所有动画的父类

1、CAMediaTiming媒体事件类协议核心动画关于时间类的控制是遵守了CAMediaTiming中的协议内容

(1)beginTime动画开始的时间默认为0

(2)duration动画的持续时间默认为0持续时间受速度的影响

实际的动画完成时间=持续时间/速度

(3)speed动画播放的速度默认为1速度设置成0可以暂停动画

speed2秒duration60秒动画真正播放完成的时间30秒

(4)timeOffset动画播放时间的偏移量

(5)repeatCount动画的循环次数默认是0只播放一次

repeatDuration动画循环的持续时间只能设置其中的一个属性

(6)autoreverses是否以动画的形式返回到播放之前的状态

(7)fillMode设置当前对象在非活动时间段的状态

要想fillMode有效需设置removedOnCompletion =NO

kCAFillModeForwards当动画结束后,layer会一直保持着动画最后的状态

kCAFillModeBackwards立即进入动画的初始状态并等待动画开始

kCAFillModeBoth动画加入后开始之前layer处于动画初始状态动画结束后layer保持动画最后的状态

kCAFillModeRemoved默认值动画结束后layer会恢复到之前的状态

2、CAAnimation动画属性方法介绍

(1)初始化方法animation

(2)timingFunction速度控制类控制动画运行的节奏

functionWithName:初始化

kCAMediaTimingFunctionLinear匀速

kCAMediaTimingFunctionEaseIn慢进快出

kCAMediaTimingFunctionEaseOut 快进慢出

kCAMediaTimingFunctionEaseInEaseOut慢进慢出中间加速

kCAMediaTimingFunctionDefault 默认

(3)delegate

(4)removedOnCompletion动画完成的时候是否移除动画效果

(5)代理方法

- (void)animationDidStart:(CAAnimation *)anim

- (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥ios动画全貌。在这里你可以看...
    每天刷两次牙阅读 8,572评论 6 30
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌。在这里你可以看...
    F麦子阅读 5,141评论 5 13
  • 在iOS实际开发中常用的动画无非是以下四种:UIView动画,核心动画,帧动画,自定义转场动画。 1.UIView...
    请叫我周小帅阅读 3,159评论 1 23
  • Core Animation Core Animation,中文翻译为核心动画,它是一组非常强大的动画处理API,...
    45b645c5912e阅读 3,069评论 0 21
  • 显式动画 显式动画,它能够对一些属性做指定的自定义动画,或者创建非线性动画,比如沿着任意一条曲线移动。 属性动画 ...
    清风沐沐阅读 1,975评论 1 5