CALayer的基本使用

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/hsf_study/article/details/47904681

 *

 * 一、CALayer基本介绍

 *     1.CALayer是一个图层,主要负责显示和制作动画效果。在ios中,UIView显示是通过

 *             CALayer来显示的,包括一些UIButtonUILabel等控件。

 *       CALayerCore Animation(负责核心动画)

 *                ios7以前加上框件(<QuartzCore/QuartzCore.h>)

 *     2.positionanchorPoint作用:

 *       position表示位置的地方(默认的是在中心点的位置。这个中心点是由anchorPoint

 *               来决定的)

 *       anchorPoint:是决定position中点的位置,取值范围0~1

 *     3.基本属性

 *       CGRect bounds:宽度和高度

 *       CGPoint position: 位置(具体见上面)

 *       CGColorRef backgoundColor :背景颜色

 *       CATransform3D Transform3D :形变属性

 *       CGColorRef  borderColor: 边框颜色

 *       CGFloat  borderWidth: 边框颜色

 *       CGFloat  cornerRadius:圆角半径

 *       CGFloat  opacity: 不透明度  0~1

 *       id contents 内容(通常可以设置为CGImageRef

 *

 * 二、CALayerUIView的区别

 *       在创建UIView对象时,UIView会自动来创建一图层(CALayer)。当UIView需要显示到屏

 *    幕上时,会调用drawRect:方法进行绘图,并且会将所有的内容放到自己的层中上,绘画完毕后

 *    ,系统会将图层拷贝到屏幕上。

 *       UIView能显示内容是由于内部有了Layer层。UIView可以进行交互,CALayer不具有交互

 *    如果想完成相应的动画效果,用CALayer来完成。比如(阴影、圆角、边框颜色)

 * 三、CALayer隐式动画(可动画的属性)

 *   1.每个UIView内部默认连接着CALayer,称这个CALayerRoot Layer根层(不具有隐式动画)

 *

 *   所有的 Root Layer层,即是我们手动创建的layer对象,都有一个隐藏的动画鲜果。

 *   (Animatable Properties)  比如:平移、背景色渐变效果

 *   2.关闭隐式动画

 *   [CATransaction begin]

 *   [CATransaction setDisableAction]

 *   这里是要关闭的图层

 *   [CATransaction commit]

 *

展开阅读全文

没有更多推荐了,返回首页