UIKit 视图树模型 1.视图树模型 计算机图形实际上是一个视图树模型,每个视图都有一个本地坐标系.每个本地坐标系的组成部分是:原点在父坐标系中的位置,每个基在父坐标系中的位置,由此就可以根据向量的本地位置求出相对于父坐标系的位置,最终求出向量全局位置.我们要分清全局坐标系,父坐标系,本地坐标系三种概念,分清基.向量的坐标.向量的位置三种概念. 2.控件监听事件 观察者模式在这里得到充分体现. UIView和UIControll都可以监听用户事件,但是UIView实现监听事件要通过在子类中覆写…
本文是<Core Animation Programming Guide>2013-01-28更新版本的译文.本文略去了原文中关于OS X平台上Core Animation相关内容.因为原文的类型属于编程指南,所以示例代码并不多,更多的是理论层面的探讨.所以译文中加入了大量的示例代码,以提高本文的可操作性.希望本文能够对你有所帮助. 本文由海水的味道翻译,转载请注明译者和出处,请勿用于商业用途! 关于Core Animation Core Animation是iOS与OS X平台上负责图形渲染…
Cocoa是在Mac OS X系统上原生的一个编译环境.他包含两个框架,其实就是一系列的类库,Foundation和AppKit. 在你的iPhone等掌上设备上,使用的则是他的一个子类 - Cocoa Touch .他所支持的Foundation框架与Cocoa相同,但他的用户图形类库为UIKit,它是为掌上设备特殊设计,提供了你设备上的界面. Cocoa与Cocoa Touch的区别是本文要介绍的内容,Cocoa Touch与Cocoa一个比较鲜明的区别就是Cocoa Touch并不支持垃圾…
Core Animation Core Animation.中文翻译为核心动画,它是一组很强大的动画处理API,使用它能做出很炫丽的动画效果.并且往往是事半功倍. 也就是说,使用少量的代码就能够实现很强大的功能. Core Animation能够用在Mac OS X和iOS平台. Core Animation的动画运行过程都是在后台操作的,不会堵塞主线程. 要注意的是,Core Animation是直接作用在CALayer上的,并不是UIView. 乔帮主在2007年的WWDC大会上亲自为你演示…
iOS的主要框架介绍   框架是一个目录,这个目录包含了共享库,访问共享库里代码的头文件,和其它的图片和声音的资源文件.一个共享库定义的方法或函数可以被应用程序调用. IOS提供了很多你可以在应用程序里调用的框架.要使用一个框架,需要将它添加到你的项目中,你的项目才可以使用它.许多应用程序都使用了如Foundation.UIKit.和Core Graphics这些框架.根据你为应用程序选择的模版,相关的框架就已经被自动引入了.如果默认加入的框架不能满足你的应用程序的需求,你也可以加入需要的框架.…
原文地址:http://www.cocoachina.com/ios/20150105/10827.html CAShapeLayer CAShapeLayer是一个通过矢量图形而不是bitmap来绘制的图层子类.你指定诸如颜色和线宽等属性,用CGPath来定义想要绘制的图形,最后CAShapeLayer就自动渲染出来了.当然,你也可以用Core Graphics直接向原始的CALayer的内容中绘制一个路径,相比直下,使用CAShapeLayer有以下一些优点: 渲染快速.CAShapeLay…
//Core Animation #define WeakSelf __weak __typeof(self) weakSelf = self #define StrongSelf __strong __typeof(weakSelf) self = weakSelf //添加 - (void)add:(id)sender { [UIView animateWithDuration: animations:^{ [UIView setAnimationTransition:UIViewAnima…
如果想在底层做一些改变,想实现一些特别的动画,这时除了学习Core Animation之外,别无选择. 最近在看<iOS Core Animation:Advanced Techniques>这本书籍,尚有所收获,并将之记录下来. CALayer如果将UIView说成是视图,那么CALayer就是图层了.每一个 UIView 的身后对应一个 Core Animation 框架中的 CALayer:每一个 CALayer 都是 UIView 的代理.可以尝试运行下面的代码,会发现打印是一样的内存…
本文转载至 http://www.tuicool.com/articles/e2qaYjA 原文  https://tech.imdada.cn/2016/06/21/ios-core-animation/ 主题 Core Animation 背景 随着达达业务的扩大,越来越多的人开始使用达达客户端,参加到众包物流的行业中.达达客户端分为iOS平台和安卓平台. APP开发也从快速迭代的粗旷性开发转向高可复用,提升用户提现的精细化方向发展.iOS动画交互良好,使用广泛,良好的用户体验离不开流畅的界…
Cocoa Touch 层 Cocoa Touch层包括创建 iOS应用程序所需的关键框架. 上至实现应用程序可视界面,下至与高级系统服务交互.都须要该层技术提供底层基础.在开发应用程序的时候.请尽可能不要使用更底层的框架,尽可能使用该层的框架. 高级特性 以下章节描写叙述一些常见特性.或许您也正打算在应用程序支持这些特性. 多任务 假设应用程序构建于iPhone SDK 4.0及其兴许版本号(且执行于iOS 4.0及兴许版本号操作系统),则点击Home键的时候.应用程序不会结束,而是切换到后台…
一.简介 iOS 动画主要是指Core Animation框架.官方使用文档地址为:Core Animation Guide. Core Animation是IOS和OS X平台上负责图形渲染与动画的基础框架.Core Animation可以作用与动画视图或者其他可视元素,为你完成了动画所需的大部分绘帧工作.你只需要配置少量的动画参数(如开始点的位置和结束点的位置)即可使用Core Animation的动画效果.Core Animation将大部分实际的绘图任务交给了图形硬件来处理,图形硬件会加…
文件夹: The Layer Beneath The Layer Tree(图层树) The Backing Image(寄宿层) Layer Geometry(图层几何学) Visual Effects(视觉效果) Transforms(变换) Specialized Layers(专有图层) Setting Things in Motion Implicit Animations(隐式动画) Explicit Animations(显式动画) Layer Time(图层时间) Easing(…
一. CALayer (一). CALayer简单介绍 在iOS中,你能看得见摸得着的东西基本上都是UIView,比方一个button.一个文本标签.一个文本输入框.一个图标等等.这些都是UIView,事实上UIView之所以能显示在屏幕上,全然是由于它内部的一个图层.在创建UIView对象时,UIView内部会自己主动创建一个图层(即CALayer对象),通过UIView的layer属性能够訪问这个层,要注意的是,这个默认的层不同意又一次创建.但能够往层里面加入子层.UIView能够通过add…
iOS – Cocoa Touch简介: iOS 应用程序的基础 Cocoa Touch 框架重用了许多 Mac 系统的成熟模式,但是它更加专注于触摸的接口和优化.UIKit 为开发者提供了在 iOS 上实现图形,事件驱动程序的基本工具,其建立在和 Mac OS X 中一样的 Foundation 框架上,包括文件处理,网络,字符串操作等. Cocoa Touch 具有和 iPhone 用户接口一致的特殊设计.有了 UIKit,您可以使用 iOS 上的独特的图形接口控件,按钮,以及全屏视图的功能…
Core Animation之框架简介(一) 作者:wangzz 原文地址:http://blog.csdn.net/wzzvictory/article/details/11180241 转载请注明出处 最近花了不少时间学习了核心动画(Core Animation),打算用几篇日志来 整理看过的内容,大家共同学习.Core Animation在IOS和MAC OSX上略有区别,这里只介绍IOS部分. 一.Core Animation简介 1.简介 Core Animation是一套包含图形绘制…
iOS中实现动画有两种方式,一种是自己不断的通过drawRect:方法来绘制,另外一种就是使用核心动画(Core Animation). 导语: 核心动画提供高帧速率和流畅的动画,而不会增加CPU的负担和减慢你的应用程序.换句话说,使用核心动画你就不用担心性能的事了.同时,使用核心动画只需要提供少数参数,使用起来很简单.需要注意的是核心动画针对的是CALayer而不是UIView,所以对使用核心动画前,需要先对CALayer的知识有过了解. 一.系统层级介绍 如图所示,核心动画位于AppKit和…
Core Animation 文档翻译(第一篇)   2018-01-13  星期6 前言:作为iOS 开发,官方文档的阅读是很有必要的,值此周末便写下此文.作为iOS 实际经验3年的开发,之前的应用之前有阅读并实践过经典的<iOS核心动画高级技巧>,其gitbook地址:https://zsisme.gitbooks.io/ios-/content/chapter10/custom-easing-functions.html,然总觉此书的翻译版,对于目前的CoreAnimation 官方文档…
Core Animation 文档翻译(第一篇) 前言 作为iOS 开发,官方文档的阅读是很有必要的,值此周末便写下此文.作为iOS 实际经验3年的开发,之前有阅读并实践过经典的<iOS核心动画高级技巧>,其gitbook地址,然总觉此书的翻译版,较于目前的CoreAnimation 官方文档的有所空缺,故生念,愿有所补缺,便着手翻译CoreAnimation,如有纰漏,望各位兄台不吝赐教. 关于 Core Animation(以下翻译为:核心动画) 核心动画是可用于在iOS和OS X平台上实…
为什么时隔这么久我又回来了呢? 回来圈粉. 开玩笑的,前段时间ipv6被拒啊,超级悲剧的,前后弄了好久,然后需求啊什么的又超多,所以写好的东西也没有时间整理.不过既然我现在回来了,那么这将是一个井喷的时节.(感觉给自己立下了什么死亡flag,啧啧啧) 先说什么呢?说一下CAAnimation相关的吧,因为最近也刚好在研究这些东西.不过看到末尾之前,请你相信我今天讲CAAnimation绝对是有阴谋的. 老司机带你走进Core Animation 事实上,老司机今天讲的只是核心动画(Core An…
第六章:Specialized Layers   类别 用途 CAEmitterLayer 用于实现基于Core Animation粒子发射系统.发射器层对象控制粒子的生成和起源 CAGradientLayer 用于绘制一个颜色渐变填充图层的形状(所有圆角矩形边界内的部分) CAEAGLLayer/CAOpenGLLayer 用于设置需要使用OpenGL ES(iOS)或OpenGL(OS X)绘制的内容与内容储备. CAReplicatorLayer 当你想自动生成一个或多个子层的拷贝.复制器…
读者在浏览技术博客的时候,看到一篇关于Core Animation的介绍,觉得挺有用的,想分享给大家.原作者不知道是谁,嘿,所以就先不标注了,如有冒犯敬请原谅.不过笔者从中摘录部分内容分享一下. 其中,关于Core Animation在iOS系统中的关系图如下:: 可以看出,Core Animation是相对上层的封装,介于UIKit与Core Graphics.OpenGL/OpenGL ES之间.最底下还有一个Graphics Hardware,就是硬件了! 一.层与视图的关系: 我们先看看…
原文地址http://www.cocoachina.com/ios/20150106/10840.html 延迟解压 一旦图片文件被加载就必须要进行解码,解码过程是一个相当复杂的任务,需要消耗非常长的时间.解码后的图片将同样使用相当大的内存. 用于加载的CPU时间相对于解码来说根据图片格式而不同.对于PNG图片来说,加载会比JPEG更长,因为文件可能更大,但是解码会相对较快,而且Xcode会把PNG图片进行解码优化之后引入工程.JPEG图片更小,加载更快,但是解压的步骤要消耗更长的时间,因为JP…
阴影 主要是shadowOpacity .shadowColor.shadowOffset和shadowRadius四个属性 shadowPath属性 我们已经知道图层阴影并不总是方的,而是从图层内容的形状继承而来.这看上去不错,但是实时计算阴影也是一个非常消耗资源的,尤其是图层有多个子图层,每个图层还有一个有透明效果的寄宿图的时候. 如果你事先知道你的阴影形状会是什么样子的,你可以通过指定一个shadowPath来提高性能.shadowPath是一个CGPathRef类型(一个指向CGPath…
iOS Core Animation 简明系列教程 看到无数的CA教程,都非常的难懂,各种事务各种图层关系看的人头大.自己就想用通俗的语言翻译给大家听,尽可能准确表达,如果哪里有问题,请您指出我会尽快修改. 1.什么是Core Animation? 它是一套包含图形绘制,投影,动画的OC类集合.它就是一个framework.通过CoreAnimation提供的接口,你可以方便完成自己所想要的动画. 2.我眼中的Core Animation? 动画和拍电影一样,而我们就如同导演一样,全权负责这场小…
Core Animation,中文翻译为核心动画,它是一组非常强大的动画处理API,使用它能做出非常炫丽的动画效果,而且往往是事半功倍.也就是说,使用少量的代码就可以实现非常强大的功能. Core Animation可以用在Mac OS X和iOS平台. Core Animation的动画执行过程都是在后台操作的,不会阻塞主线程. 要注意的是,Core Animation是直接作用在CALayer上的,并非UIView. CALayer与UIView的关系 在iOS中,你能看得见摸得着的东西基本…
  Core Animation,中文翻译为核心动画,它是一组非常强大的动画处理API,使用它能做出非常炫丽的动画效果,而且往往是事半功倍.也就是说,使用少量的代码就可以实现非常强大的功能. Core Animation可以用在Mac OS X和iOS平台. Core Animation的动画执行过程都是在后台操作的,不会阻塞主线程. 要注意的是,Core Animation是直接作用在CALayer上的,并非UIView. CALayer与UIView的关系 在iOS中,你能看得见摸得着的东西…
Cocoa Touch包括: (1)Core Animation: 通过Core Animation,可以通过一个基于独立图层的简单的编程模型来创建丰富的用户体验. (2)Core Audio: Core Audio是播放,处理和录制音频的专业技术,能够轻松为应用程序添加强大的音频功能. (3)Core Data: 提供了一个面向对象的数据管理解决方案,易于使用和理解,甚至可以处理任何大小的数据模型. 我通过类别为大家罗列一下: [音频和视频] (1)Core Audio (2)OpenAL (…
Cocoa Touch层包含创建 iOS应用程序所需的关键框架.上至实现应用程序可视界面,下至与高级系统服务交互,都需要该层技术提供底层基础.在开发应用程序的时候,请尽可能不要使用更底层的框架,尽可能使用该层的框架. 高级特性 下面章节描述一些常见特性,也许您也正打算在应用程序支持这些特性. 多任务 如果应用程序构建于iPhone SDK 4.0及其后续版本(且运行于iOS 4.0及后续版本操作系统),则点击Home键的时候,应用程序不会结束,而是切换到后台.对于大多数应用程序来说,进入后台,它…
目录: 一.Core Animation 二.广播设计模式 回到顶部 一.Core Animation 1.  是什么? 底层的动画框架 2.  框架对比 UIKit           UI      UIView              AppKit          NS  NSView (Cocoa Touch = UIKit + Foundation)          (Cocoa = AppKit + Foundation) 核心:让好看又能动的东西 在手机上和用户可以交互 OC…
前言 本次分享将从以下方面进行展开: 曾被面试官问倒过的问题:层与视图的关系 CALayer类介绍及层与视图的关系 CAShapeLayer类介绍 UIBezierPath贝塞尔曲线讲解 CoreAnimation之动画子类介绍 CATransitionAnimation类实现各种过滤动画 关于Core Animation在iOS系统中的关系图如下: 可以看出,Core Animation是相对上层的封装,介于UIKit与Core Graphics.OpenGL/OpenGL ES之间.最底下还…