美文网首页
iOS 核心动画

iOS 核心动画

作者: anny_4243 | 来源:发表于2023-01-31 18:06 被阅读0次

    摘自《iOS10 开发指南》

    Core Animation即核心动画,开发人员可以为应用创建动态用户界面,而无需使用低级别的图形API,例如使用OpenGL来获取高效的动画性能。Core Animation负责所有的滚动、旋转、缩小和放大以及所有的iOS动画效果。其中UIKit类通常都有animated参数部分,它可以允许是否使用动画。另外,Core Animation还与Quartz紧密结合在一起,每个UIView都关联到一个CALayer对象,CALayer是Core Animation中的图层。

    Core Animation在创建动画时会修改CALayer属性,然后让这些属性流畅地变化。学习CoreAnimation需要具备如下相关知识点。

    • 图层:是动画发生的地方,CALayer总是与UIView关联,通过layer属性访问。
    • 隐式动画:这是一种最简单的动画,不用设置定时器,不用考虑线程或者重画。
    • 显式动画:这是一种使用CABasicAnimation创建的动画,通过CABasicAnimation,可以更明确地定义属性来改变动画。
    • 关键帧动画:是一种更复杂的显式动画类型,这里可以定义动画的起点和终点,还可以定义某些帧之间的动画。

    使用核心动画的好处如下。

    • 简单易用的高性能混合编程模型。
    • 类似视图一样,你可以通过使用图层来创建复杂的接口。通过CALayer来使用更复杂的一些动画。
    • 轻量级的数据结构,它可以同时显示并让上百个图层产生动画效果。控制多个CALayer来显示动画效果。
    • 一套简单的动画接口,可以让你的动画运行在独立的线程里面,并可以独立于主线程之外。
    • 一旦动画配置完成并启动,核心动画完全控制并独立完成相应的动画帧。
    • 提高应用性能。只有应用程序发生改变时才重绘内容。再小的应用程序也需要改变和提供布局服务层。核心动画还消除了在动画的帧速率上运行的应用程序代码。
    • 灵活的布局管理模型。包括允许图层相对同级图层的关系来设置相应属性的位置和大小。可以使用CALayer更灵活地迚行布局。

    Core Animation提供了许多或具体或抽象的动画类,如图所示。

    Core Animation的类

    Core Animation中常用类的具体说明如下。

    • CATransition:提供了作用于整个层的转换效果。可以通过自定义的Core Image filter扩展转换效果。
    • CAAnimationGroup:可以打包多个动画对象并让它们同时执行。
    • CAPropertyAnimation:支持基于属性关键路径的动画。
    • CABasicAnimation:对属性做简单的插值。
    • CAKeyframeAnimation:对关键帧动画提供支持。指定需要动画属性的关键路径,一个表示每一个阶段对应的值的数组,还有一个关键帧时间和时间函数的数组。动画运行时,依次设置每一个值的指定插值。

    相关文章

      网友评论

          本文标题:iOS 核心动画

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