您的位置:首页 > 产品设计 > UI/UE

CALayer使用(未完待续)

2016-06-22 16:35 423 查看
一、什么是CALayer

在iOS系统中,你能看得到摸得着的东西基本都是UIview。比如一个按钮、一个文本标签、一个文本输入框、一个图标等等,这些都是UIview。

其实UIview之所以显示在屏幕上,完全是因为它内部的一个层。

在创建UIview对象时,UIview内部会自动创建一个层(即CALayer对象),通过UIview的layer属性可以访问这个层。当UIview需要显示到屏幕上,会调用drawRect:方法进行绘图,并且会将所有内容绘制在自己的层上,绘图完毕后,系统会将层拷贝到屏幕上,于是完成了UIview的显示。

二、CALayer的简单使用

上面已经说了,UIview能显示东西完全是因为CALayer对象,因此,通过操作这个CALayer对象,可以很方便调整UIview的一些界面属性,比如:阴影,圆角大小、边框和颜色等。

CALayer是被定义在QuartzCore框架中的,因此要想使用CALayer,先要导入QuartzCore框架。

三、UIview与CALayer的选择

UIview与CALayer都可以添加一些显示界面,并且显示效果是一样的,那么我们究竟选择谁呢?

其实,对比CALayer,UIview多了一个事件处理的功能,也就是说CALayer不能处理用户的触摸事件,而UIview可以,

所以,如果显示出来的东西需要跟用户进行交互的话,用UIview;如果不需要跟用户进行交互两者皆可,

当然,CALayer的性能会高一些,因为它少了事件处理的功能,更加轻量级。



四、UIview与CALayer的其他关系

1.UIview可以通过subviews属性访问所有的子视图,类似的,CALayer也可以通过sublayers属性访问所有子层。

2.UIview可以通过superview属性访问父视图,类似的,CALayer也可以通过superlayer属性访问父层。



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  界面 uiview CALayer