美文网首页
核心动画

核心动画

作者: 最晴天 | 来源:发表于2018-09-25 11:48 被阅读9次

    Core Animation,不同于UIView动画那么简单快捷。但可高效的控制动画效果,比如停止动画,控制动画节奏。

    在开始之前,先做一些基本了解。
    它属于CoreGraphics框架,在CALayer层操作。

    屏幕快照 2018-09-25 10.32.54.png

    是不是有些恍然大悟了呢。
    总结一下CALayer和UIView有什么区别呢?
    UIView:用户交互,界面展示
    真正绘制界面的类是layer
    CALayer属于QuartzCore框架(跨平台的).

    mac os:交互上面:APPKIT,通过鼠标键盘交互,NSview
    iOS:触摸,UIKit,UIVIew

    相同点:同一种绘制方式(CALayer)
    不同点:不同交互方式
    UIView封装了layer
    frame,background:layer对应的属性
    <修改backgroundColor其实就是修改对应的layer的backgroundColor,模型层(存储数据和读取)>
    总结:UIView负责处理用户交互,layer负责绘制内容。我们访问和设置的UIView的这些负责显示的属性实际就是访问和设置layer对应的属性,
    只不过UIView把他封装了起来。

    补充一下CALayer的层级关系:
    layer的层次结构Layer Tree,这种层次结构分为以下三种:
    Model Tree :也就是我们通常所说的layer,也可以通过modelLayer获取
    Presentation Tree:呈现出来的layer,也就是我们做动画时你看到的那个layer,可以通过layer.presentationLayer获得。
    Render Tree :私有,无法访问。主要是对Presentation Tree数据进行渲染,并且不会阻塞线程。

    核心动画的几个类:


    屏幕快照 2018-09-25 10.34.48.png

    参考:
    http://www.cocoachina.com/ios/20170623/19612.html

    自定义转场动画


    屏幕快照 2018-09-25 11.23.12.png

    相关文章

      网友评论

          本文标题:核心动画

          本文链接:https://www.haomeiwen.com/subject/fgpkoftx.html