美文网首页
图层理解

图层理解

作者: 淇滨杜隆坦 | 来源:发表于2016-07-06 16:25 被阅读36次

参看iOS-Core-Animation-Advanced-Techniques(一)
参看CALayer与UIView的关系
参看iOS CoreAnimation专题——原理篇(一) CALayer与UIView之间的关系

UIView是iOS开发的核心类,在我们看来,它负责几乎所有的界面展示和用户交互,这是苹果设计得非常好的一个地方——它完美的将其真正负责绘制界面的那个类封装起来了,对开发者而言,我们几乎只和UIView打交道就能完全控制一个视图的显示而不需要去管它底层究竟如何去处理的,然而我们今天必须要稍微深入进UIView中看看,以便于我们之后对动画原理的学习。

对于CALayer这个类 我相信大家都不太陌生,大多数人第一次接触这个类都是通过一个UIView对象的属性layer认识的。在学习如何给一个视图加圆角、设置边框颜色之类的效果的时候,第一次接触到了CALayer,当时并没有去理会这个东西,因为它似乎并不是UIKit框架中的东西,也不知道它有啥用,只是隐隐觉得这个家伙并不简单,事实的确如此。

CALayer是属于QuartzCore框架而这个框架是一个跨平台的绘制框架。这里的跨平台指的是在iOS和OS X系统上均能使用,也就是说CALayer能在iOS和OS X上面绘制内容 (这也说明了为什么CALayer的很多属性都不是UIKit框架下面的东西,比如它的backgroundColor是CGColorRef,因为OS X中没有UIKit)。但是这两个平台接收用户交互的方式完全不一样:iOS是通过触摸事件(touch event)而OS X则是监听鼠标和键盘事件。

苹果的工程师们考虑到:这两个平台的绘制规则(如何将一个像素显示到屏幕上)都是一样的,但是交互规则完全不一样。所以他们使用了同一种绘制方式和不同的交互方式,具体的,他们将CALayer作为两个平台共同的用来绘制内容的类而针对交互方式,他们在iOS中使用了UIResponder类来响应交互,在OS X中则没有UIKit里面的类取而代之是叫做NSView之类的东西。而通常情况下交互是发生在绘制内容之上的(有内容的地方才能点击),所以UIKit将CALayer封装进了UIView中,让开发者们感觉到UIView既能绘制又能处理交互,而实际上负责绘制的是UIView中的CALayer。

相关文章

  • 图层理解

    参看iOS-Core-Animation-Advanced-Techniques(一)参看CALayer与UIVi...

  • iOS图层树理解

    iOS图层树(图层的树状结构) CoreAnimation 屏幕上不同的可视内容(可分解成各个独立的图层)通过Co...

  • 淘宝美工基础篇-062

    2019年4月18日23:17:59 01图层原理 图层可以理解为,一层一层的透明玻璃板 不同的图层上面,分别给予...

  • 图层蒙版的理解

    图层蒙版的理解 CALayer有一个属性叫做mask可以解决这个问题。这个属性本身就是个CALayer类型,有和其...

  • 一篇文章深入理解PS图层概念

    理解图层的基本概念 要知道,图层是PS操作的基础与核心,是承载PS图案绘制、图像修改、照片润色、特效施加、蒙版调整...

  • 设计之PS篇章(三):认识PS菜单栏

    微信公众号更新的快一些,个人公众号:鱼大大设计铺,ID:ydsjp2018 图层概念 我理解的PS图层就是铺床单,...

  • 第八节:视图层

    一:理解视图层 类似于“视图引擎模板”(jsp,freemaker,velocity,thymeleaf等) 框...

  • 零基础学习PhotoshopCS6第九课︱图层

    (一)定义 图层:就是含有文字或图形等元素的胶片。 图层其实也很好理解,举个例子:我要在透明的手机膜上画一只猫,第...

  • Android 视图层级结构图

    资料:Android进阶 - 视图层级实时分析安卓视图层级大揭秘融合两位大佬的文章,加之自己的理解,做了一张图,展...

  • 第五天 图层样式

    (一)图层样式的使用条件: 不能用图层样式的:背景图层能用图层样式的:像素图层,形状图层,图像图层,图层组,文字图...

网友评论

      本文标题:图层理解

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