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

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坐标轴方向和屏幕垂直。数值越大,离看屏幕的人越近。
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ohyeahhhh/article/details/50988498
文章标签: CALayer 属性 ios
想对作者说点什么? 我来说一句

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

关闭
关闭
关闭