文档章节

iOS动画编程-Layer动画[ 1 ] Layer Animations Overview

hejunbinlan
 hejunbinlan
发布于 2016/08/01 13:36
字数 409
阅读 6
收藏 0
点赞 0
评论 0

介绍

之前我们已经讨论了View动画和基于AutoLayout的动画,现在我们已经能熟练的运用UIView动画了,是时候挖掘一些更深层次的、更底层的、更Powerful的Core Animation API了
这章中我们将一起探索Layer层次的动画

Views vs. layers

首先我们来看看View和Layer之间的区别与联系
Layer是一个简单的类,其中只包含了几个图片属性,每一个UIView后都有一个Layer,你可以认为Layer就是View类更低的那一层,Layer与View的区别如下:

  • Layer是一个model对象,它包含数据属性,没有逻辑,没有复杂的AutoLayout依赖,它不处理任何用户交互。

  • 它包含了边线、边框颜色、阴影及其位置等属性

  • 最后,Core Animation 优化了Layer内容的缓存, 可以由GPU直接快速的绘图

View

  • 复杂的布局体系、自动布局等

  • 用户交互

  • 经常包含自定义逻辑、自定义画图代码,常在CPU主线程执行

  • 非常灵活、强大,拥有很多子类

Layer

  • 简单的布局体系、快速的布局、绘制

  • 不在响应链上

  • 默认无自定义逻辑,常常由GPU直接缓存、绘制

  • 不是很灵活,子类较少

什么时候选择Layer animation

如果选择ViewAnimation能够完成你的需求,就应当去使用View Animation,如果你需要更加灵活的、更强大的动画效果,你应该使用Layer animation

© 著作权归作者所有

共有 人打赏支持
hejunbinlan
粉丝 40
博文 532
码字总数 21018
作品 0
浦东
高级程序员
iOS一些代码的取巧写法总结(一)

一、 字典(NSDictionary)和JSON字符串(NSString)之间互转 二、打开摄像机作为背景 三、打开背光灯 四、状态栏和导航栏一些设置 五、切回app时、会有闪现、闪现一次主屏幕的现象 六、[UIAppl...

朝雨晚风 ⋅ 2016/12/05 ⋅ 0

iOS核心动画小结(swift)

本文所有示例代码都是Swift4,参看文末链接 Core Animation是IOS和OS X平台上负责图形渲染与动画的基础框架。Core Animation可以作用与动画视图或者其他可视元素,为你完成了动画所需的大部分...

Andy_Ron ⋅ 05/29 ⋅ 0

如何判断你是合格的高级iOS开发工程师?

前言 随着移动互联网的高速发展泄洪而来,有意学习移动开发的人越来越多了,竞争也是越来越大,需要学习的东西很多。如何才能在激烈的移动开发者竞争中一枝独秀,成为一名真正合格的高级iOS...

_小迷糊 ⋅ 05/26 ⋅ 0

iOS高仿QQ侧滑控件、下载框架、动画效果、扫一扫、颜色变化、K线图等源码

iOS精选源码 仿京东"加入购物车"转场动画(http://www.code4app.com/thread-28162-1-1.html) ColorTool(颜色转换)(http://www.code4app.com/thread-29256-1-1.html) Swift 专业版K线(http://w......

sunnyaigd ⋅ 04/17 ⋅ 0

iOS Animation创建及使用

iOS 实现的基本动画 头尾式动画 2.block动画的方法 iOS显示关键帧动画 关键帧动画 动画的创建和使用 第一种:UIView 代码块调用 第二种:UIView [begin commit]模式 第三种:使用Core Animat...

奋拓达 ⋅ 05/23 ⋅ 0

全屏手势返回插件 - BBGestureBack

BBGestureBack Full screen return gesture(全屏手势返回 滑动返回 pop 动画效果) iOS 侧滑返回 BBGestureBack iOS 全屏手势返回 滑动返回 pop 动画效果 现在市场上的主流app都有用到各种侧...

Bonway ⋅ 05/30 ⋅ 0

iOS UIView Block 动画- (基础动画, 关键帧动画, 动画组)

UIView本身对于基本动画和关键帧动画、转场动画都有相应的封装,在对动画细节没有特殊要求的情况下使用起来也要简单的多 1、UIView Block 基础动画 ,转场动画+ 缩放 2、关键帧动画(里面加上...

朝雨晚风 ⋅ 05/31 ⋅ 0

iOS三维菜单、调试工具、封装通讯录、网络框架、多种控件和动画等源码

iOS精选源码 一个调用系统通讯录和获取通讯录所有联系人的封装(http://www.code4app.com/thread-29726-1-1.html) ios scrollview嵌套tableview同向滑动(初级、进阶), 支持OC / Swift(http...

sunnyaigd ⋅ 05/15 ⋅ 0

iOS宇宙大战游戏、调试工具、各种动画、AR相册、相机图片编辑等源码

iOS精选源码 日期时间选择器,swift(http://www.code4app.com/thread-30244-1-1.html) Space Battle 宇宙大战 SpriteKit游戏源码(http://www.code4app.com/thread-30246-1-1.html) LLDebugTo......

sunnyaigd ⋅ 今天 ⋅ 0

iOS渐变字体、动态条纹、获取特定位置cell、笔记App、购物车界面等源码

iOS精选源码 RAC实现添加购物车(http://www.code4app.com/thread-29956-1-1.html) 一个基于Photos.framework的图片多选,持续功能的更新中(http://www.code4app.com/thread-29959-1-1.html)...

sunnyaigd ⋅ 05/29 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Spring MVC基本概念

只写Controller

颖伙虫 ⋅ 15分钟前 ⋅ 0

微软重金收购GitHub的背后逻辑原来是这样的

全球最大的开发者社区GitHub网站花落谁家的问题已经敲定,微软最终以75亿美元迎娶了这位在外界看来无比“神秘”的小家碧玉。尽管此事已过去一些时日,但整个开发者世界,包括全球各地的开源社...

linux-tao ⋅ 15分钟前 ⋅ 0

磁盘管理—逻辑卷lvm

4.10-4.12 lvm 操作流程: 磁盘分区-->创建物理卷-->划分为卷组-->划分成逻辑卷-->格式化、挂载-->扩容。 磁盘分区 注: 创建分区时需要更改其文件类型为lvm(代码8e) 分区 3 已设置为 Linu...

弓正 ⋅ 36分钟前 ⋅ 0

Spring源码解析(六)——实例创建(上)

前言 经过前期所有的准备工作,Spring已经获取到需要创建实例的 beanName 和对应创建所需要信息 BeanDefinition,接下来就是实例创建的过程,由于该过程涉及到大量源码,所以将分为多个章节进...

MarvelCode ⋅ 55分钟前 ⋅ 0

js模拟栈和队列

栈和队列 栈:LIFO(先进后出)一种数据结构 队列:LILO(先进先出)一种数据结构 使用的js方法 1.push();可以接收任意数量的参数,把它们逐个推进队尾(数组末尾),并返回修改后的数组长度。 2....

LIAOJIN1 ⋅ 今天 ⋅ 0

180619-Yaml文件语法及读写小结

Yaml文件小结 Yaml文件有自己独立的语法,常用作配置文件使用,相比较于xml和json而言,减少很多不必要的标签或者括号,阅读也更加清晰简单;本篇主要介绍下YAML文件的基本语法,以及如何在J...

小灰灰Blog ⋅ 今天 ⋅ 0

IEC60870-5-104规约传送原因

1:周期循环2:背景扫描3:自发4:初始化5:请求6:激活7:激活确认8:停止激活9:停止激活确认10:激活结束11:远程命令引起的返送信息12:当地命令引起的返送信息13:文件传送20:响应总召...

始终初心 ⋅ 今天 ⋅ 0

【图文经典版】冒泡排序

1、可视化排序过程 对{ 6, 5, 3, 1, 8, 7, 2, 4 }进行冒泡排序的可视化动态过程如下 2、代码实现    public void contextLoads() {// 冒泡排序int[] a = { 6, 5, 3, 1, 8, 7, 2, ...

pocher ⋅ 今天 ⋅ 0

ORA-12537 TNS-12560 TNS-00530 ora-609解决

oracle 11g不能连接,卡住,ORA-12537 TNS-12560 TNS-00530 TNS-12502 tns-12505 ora-609 Windows Error: 54: Unknown error 解决方案。 今天折腾了一下午,为了查这个问题。。找了N多方案,...

lanybass ⋅ 今天 ⋅ 0

IDEA反向映射Mybatis

1.首先在pom文件的plugins中添加maven对mybatis-generator插件的支持 ` <!-- mybatis逆向工程 --><plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-ma......

lichengyou20 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部