微专业GeekBand-IOS开发高级进阶笔记-第二周

CATransaction

+ begin

config current transaction

CATransaction setValue: forKey

    kCATransactionAnimationDuration;
    kCATransactionDisableActions;
    kCATransactionAnimationTimingFunction;
    kCATransactionCompletionBlock;

+ commit

[Can nest]
[Only outmost commit begins animating]

Core Animation 默认是打开的

隐式动画

CAAction - Protocol
- All CAAction adopted it
- implement runActionForKey:object:arguments: method

当默认的隐式动画不能满足时,[CATransaction setDisableActions:Yes]

显示动画

CAAnimation - CAAction, CAMediaTiming

一般使用子类

    - CAPropertyAnimation 
        - CABasicAnimation, CAKeyframeAnimation
    - CAAnimationGroup
    -CATransition

有一个delegate

CABasicAnimation

-animationWithKeyPath:(KVC) animatableProperty

config animation

  • fromValue: 默认为当前值
  • toValue
  • byValue
  • duration
  • repeatCount (如果想要不停地重复就可以将它设置为 HUGE_VALF)

[在完成之后需要手动设置成目标值(toValue)不然会跳回到原本的值]

CAKeyframeAnimation

它有一个path属性

创建path

 _path = CGPathCreateMutable();
CGPathMoveToPoint(_path, NULL, x, y);
CGPathAddArc(_path, Null, x, y, r, 0, M_PI, YES);
CGPathCloseSubPath(_path);

还有一个 timingFunction 的属性
可以设置 = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunction…]

calculationMode 添加差值的不同方法
keyTimes (only for non-paced)

Group Animation: 一个包含 Animation 的 NSArray
group.duration —> 如果时间更长,全部中断
layer - addAnimation:group:forKey:

Timing

每一个layer都是分开计算时间的,所以需要 time converting (好像单位换算)
-convertTime:fromLayer:
-convertTime:toLayer:
nil layer means system time

layer.speed = 0 to pause

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

推荐阅读更多精彩内容

  • 从第二周开始学习明显变得吃力好多,尤其是后半部分的课程理论知识理解起来要困难很多,笔记就先整理一下实操性比较强且十...
    AalizzwellAaron阅读 390评论 0 1
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥ios动画全貌。在这里你可以看...
    每天刷两次牙阅读 8,573评论 6 30
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌。在这里你可以看...
    F麦子阅读 5,147评论 5 13
  • 前言 本文只要描述了iOS中的Core Animation(核心动画:隐式动画、显示动画)、贝塞尔曲线、UIVie...
    GitHubPorter阅读 3,662评论 7 11
  • 动画效果 动画的原理来自视觉的残留效应,视觉神经反应速度约16分之1秒,只要画面变化速度快于视觉神经反应速度就会感...
    Hysoka阅读 415评论 0 0