CALayer 类的介绍(创建+属性)

原创 2016年03月26日 19:48:21

CALayer类,也就是图层layer,管理基于图片的内容,可以在内容中展示动画。CALayer本身也有一些可视化的属性,比如边界,背景色和阴影。CALayer也存储了在图层上的可视化内容(子视图)的初始值,包括他们的坐标,大小,变幻等等。layer遵守CAMediaTiming协议,管理动画的时间间隔,步长等等。

一个layer可以由view来创建,这种情况下,layer的代理就是创建它的view。对于自己创建的layer需要指定delegate和layoutManager。delegate用来提供内容。layoutManager用来管理子视图的布局。作为delegate的类需要遵守CALayerDelegate协议。

layer的子视图都应该添加到layer的contentView里面,不要直接添加到layer上。

CALayer对象的创建:

  • +layer和-init方法。都可以返回一个layer对象。

外观相关属性:

  • contentsGravity 枚举类型,就是重心,决定它子视图怎么分布的。
  • opacity 透明度 0.0-1.0之间
  • masksToBounds 布尔值,是否将用mask遮盖这个layer使他值显示bounds的范围。比如要实现view的圆角效果的时候,也要把这个设置为YES(默认是NO)。
  • mask 这个是一个可选的layer,它的alpha channel决定了contentView和背景的透明度。默认mask==nil。要指定一个mask,需要指明mask的大小和位置。尤其注意这个mask不允许拥有父layer,否则效果是不可预知的。
  • cornerRadius 是个浮点型的数,指明的是layer背景的四个角,画成圆角的半径。默认情况下,只有背景会按照这个角度来画成圆角,而不会影响layer的contents属性里面的图片的角。要把masksToBounds设置为YES,才会影响那些图片。
  • borderWidth、borderColor、backgroundColor、shadowOpacity(0.0-1.0)、shadowRadius(要模糊化的半径)、shadowOffset、shadowColor属性都是看名字就能猜到大概,不多说。
  • shadowPath,类型是CGPathRef,指的是阴影的轮廓。默认是nil,也就是系统默认的形状。如果指定了,就会根据上面指定的shadowOpacity、shadowRadius、shadowColor等参数来填充阴影。
  • allowsEdgeAntialiasing 是否允许平滑处理,如果允许的话会使用edgeAntialiasingMask属性的值来对边界进行平滑处理。它的值可以在Info.plist上设定,如果没有设定,则默认是不允许的。
  • zPosition,z坐标轴上的位置,z坐标轴方向和屏幕垂直。数值越大,离看屏幕的人越近。
版权声明:本文为博主原创文章,未经博主允许不得转载。

CALayer中自定义属性的动画

文章来源:http://write.blog.csdn.net/postedit?ref=toolbar&ticket=ST-95602-frzfq3Pp4n3vrQF7lajc-passport.c...
  • antjumper
  • antjumper
  • 2016年04月20日 14:36
  • 567

关于CALayer的Content属性

CALayer 有一个属性叫做contents,这个属性的类型被定义为id,意味着它可以是任何类型的对象。在这种情况下,你可以给contents属性赋任何值,你的app仍然能够编译通过。但是,在实践中...
  • Lee_lisa520
  • Lee_lisa520
  • 2015年08月17日 10:06
  • 361

CALayer可动画属性

这些属性用于CAAnimation中的KeyPath设置.表一 CALayer中可以进行动画的属性列表以及它们的默认动画 Property Default animation anchorP...
  • showgp
  • showgp
  • 2016年09月02日 13:04
  • 283

CALayer 的属性介绍

02CALayer的基本属性01     1.注意CALayer是什么东西?         > CA就是CoreAnimation核心动画,它是同时支持 Mac OS 和 iOS 系统。 ...
  • Yang__XZ
  • Yang__XZ
  • 2016年02月26日 19:31
  • 692

swift详解之二十四---------------CoreAnimation(一)CALayer

CoreAnimation(一)CALayerCoreAnimation 算是一个大话题 ,要实现很多炫酷的动画,必须掌握它,掌握它之前 ,先来了解CALayer — 图层 CALayer我们平常都是...
  • u010586842
  • u010586842
  • 2015年09月07日 00:48
  • 2085

CALayer的mask属性简介

mask就是PS中的遮罩; 遮罩层必须至少有两个图层,上面的一个图层为“遮罩层”,下面的称“被遮罩层”;这两个图层中只有相重叠的地方才会被显示。也就是说在遮罩层中有对象的地方就是“透明”的,可以看到...
  • junjun150013652
  • junjun150013652
  • 2016年04月05日 16:43
  • 2719

CALayer 详细介绍

在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌。在这里你可以看到iOS中如何使用图层精简非交互式绘图,如何通过核心动画创建基础动画、关键帧动画、动画...
  • FirstBloodFB
  • FirstBloodFB
  • 2015年03月26日 10:06
  • 833

CALayer的那些坑!

转载自:http://www.tuicool.com/articles/7jM3aeF CALayer contents属性 CALayer有一个属性叫做contents,这...
  • liangliang2727
  • liangliang2727
  • 2016年10月23日 11:41
  • 711

iOS 常用的各种各样的CALayer

iOS仿射变换是CGAffineTransform,仿射变换的特点是变换后的图形对边依然是平行的,它包括 CGAffineTransformMakeRotation(CGFloat angle) / ...
  • u012131827
  • u012131827
  • 2016年06月08日 09:42
  • 369

CALayer属性的简单介绍

一、如果要更改 UIView 的 CALayer,要引用:#import . 每个UIView 都有 CALayer,即 UIView.layer,同时 UIView是iOS系统中界面元素的基础,所...
  • yangpansky
  • yangpansky
  • 2013年09月27日 10:44
  • 487
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CALayer 类的介绍(创建+属性)
举报原因:
原因补充:

(最多只允许输入30个字)