CALayer简单内容


1.CALayerUIView的区别

  (1)UIViewUIKit的(只能iOS使用),CALayer是QuartzCore的(iOS和mac os通用)。

   (2)UIView继承UIResponder,CALayer继承NSObject,UIView比CALayer多了一个事件处理的功能,也就是说,CALayer不能处理用户的触摸事件,而UIView可以。

    (3)UIView来自CALayer,是CALayer的高层实现和封装,UIView的所有特性来源于CALayer支持。

  (4)CABasicAnimation,CAAnimation,CAKeyframeAnimation等动画类都需要加到CALayer上。


2.CALayer

 

CALayer简单内容


3.CALayer属性

属性

说明

是否支持隐式动画

anchorPoint

和中心点position重合的一个点,称为锚点,锚点的描述是相对于xy位置比例而言的默认在图像中心点(0.5,0.5)的位置

backgroundColor

图层背景颜色

borderColor

边框颜色

borderWidth

边框宽度

bounds

图层大小

contents

图层显示内容,例如可以将图片作为图层内容显示

contentsRect

图层显示内容的大小和位置

cornerRadius

圆角半径

doubleSided

图层背面是否显示,默认为YES

frame

图层大小和位置,不支持隐式动画,所以CALayer中很少使用frame,通常使用boundsposition代替

hidden

是否隐藏

mask

图层蒙版

maskToBounds

子图层是否剪切图层边界,默认为NO

opacity

透明度 ,类似于UIViewalpha

position

图层位置

shadowColor

阴影颜色

shadowOffset

阴影偏移量

shadowOpacity

阴影透明度,注意默认为0,如果设置阴影必须设置此属性

shadowPath

阴影的形状

shadowRadius

阴影模糊半径

sublayers

子图层

sublayerTransform

子图层形变

transform

图层形变

CAShapeLayer和UIBezierPath

CAShapeLayer是CALayer的子类,是Quare 2D中对图层操作最基本的一个扩展。通过它,我们可以绘制各种图形,特别是不规则图形。

每个CAShapeLayer对象都代表着将要被渲染到屏幕上的形状(shape)。具体的形状由其path(类型为CGPathRef)属性指定,形状可以是任意的,比如星形、菱形等等。

普通的CALayer在初始化时需要指定frame值,它本身是有形状,而且是矩形。CAShapeLayer初始化时也需要指定frame值,但它本身没有形状,它的形状来源于其属性path


UIBezierPath对象是CGPathRef数据类型的封装。path如果是基于矢量形状的,都用直线和曲线段去创建。我们使用直线段去创建矩形和多边形,使用曲线段去创建弧(arc),圆或者其他复杂的曲线形状。每一段都包括一个或者多个点,绘图命令定义如何去诠释这些点。每一个直线段或者曲线段的结束的地方是下一个的开始的地方。每一个连接的直线或者曲线段的集合成为subpath。一个UIBezierPath对象定义一个完整的路径包括一个或者多个subpaths。







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值