简单谈谈Core Animation 动画效果
在开始之前呢,先了解一下UIView和CALayer大体的区别(重点列举了以下四点):
•UIView 继承自 UIResponder,因此UIView 可以处理响应事件,而CALayer继承自NSObject,所以它只是负责内容的创建,绘制。
•UIView 负责对内容的管理,而CALayer则是对内容的绘制
•UIView 中有关位置的属性只有frame、bounds、center,而CALayer除了具备这些属性之外还有anchorPoint、position。
•通过修改CALayer可以实现UIView无法实现的很多高级功能
什么是Core Animation?
Core Animation为iOS的核心动画,它提供了一组丰富的API可以用于实现各种高级酷炫的动画效果。Core Animation 书与QuartzCore.framework框架。
Core Animation的特点:
•直接作用于CALayer图层上,并非UIView上。
•Core Animation的执行过程在后台执行,不阻塞主线程。
•可以使用CALayer绝大多数属性制作高级动画效果。
Core Animation中常用类的继承关系图:
•CAMediaTiming 有很多动画公共的属性:比如常见的duration(动画执行周期)、speed(速度)、repeatCount(重复次数)等一些公共的属性
•CAAnimation 主要用于实现动画的委托代理方法,比如动画开始事件和动画结束都是通过CAAnimation类实现的
•CAPropertyAnimation 属性动画,分为基础动画CABasicAnimation和关键帧动画CAKeyframeAnimation。
•CAAnimationGroup 组合动画,使用这个类可以把其他常用动画组合在一起
•CATransition 转场动画,主要用于视图控制器或者多个View之间的视图切换场景
以上这篇简单谈谈Core Animation 动画效果就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 使用 Vue 3.0,你可能不再需要Vuex了
- ffmpeg视频处理神器学习基础笔记
- 5分钟就能做一个Excel动态图表,你确定不学学?(纯gif教学)
- 使用Logstash接收Netflow日志并发送到syslog服务器
- Flask搭建ES搜索引擎(二)
- Java 通过RestHighLevelClient 使用ES的date_histogram 根据年月日做统计
- Debug HashMap
- NSum及股票系列
- 从0开始搭建编程框架——主框架和源码
- C++拾取——使用stl标准库生成等差、等比数列的方法
- C++拾取——使用stl标准库实现排序算法及评测
- 机器人实践课程镜像分享及使用说明(Arduino+ROS1+ROS2+Gazebo+SLAM+...)
- ROS 2 Foxy Fitzroy遇见Ubuntu 20.04
- ROS Noetic Ninjemys遇见Ubuntu 20.04
- Kustomize ConfigMapGenerate自动生成ConfigMap中的坑