Skip to content

CALayer

CALayer 是 Core Animation 的核心图层类型。它在插件运行时中通常作为 UIView.layer 的类型出现,也可以独立创建并组合为图层树。

属性类型说明
visibleRect{ x: number, y: number, width: number, height: number }只读。可见区域。
bounds{ x: number, y: number, width: number, height: number }bounds。
frame{ x: number, y: number, width: number, height: number }frame。
position{ x: number, y: number }position。
zPositionnumberzPosition。
anchorPoint{ x: number, y: number }anchorPoint。
anchorPointZnumberanchorPointZ。
hiddenboolean是否隐藏。
doubleSidedboolean是否双面渲染。
geometryFlippedboolean是否几何翻转。
superlayerCALayer | null只读。父图层。
sublayersNSArray子图层数组。
maskCALayer | null蒙版图层。
masksToBoundsboolean是否裁剪子内容。
属性类型说明
contentsany内容对象。
contentsRect{ x: number, y: number, width: number, height: number }contentsRect。
contentsScalenumbercontentsScale。
contentsCenter{ x: number, y: number, width: number, height: number }contentsCenter。
minificationFilterBiasnumber缩小过滤偏置。
opaqueboolean是否不透明。
allowsEdgeAntialiasingboolean是否允许边缘抗锯齿。
backgroundColorUIColor | null背景色。
cornerRadiusnumber圆角半径。
borderWidthnumber边框宽度。
borderColorUIColor | null边框色。
opacitynumber不透明度(0~1)。
compositingFilterany合成滤镜。
filtersNSArray滤镜数组。
backgroundFiltersNSArray背景滤镜数组。
shouldRasterizeboolean是否栅格化。
rasterizationScalenumber栅格化 scale。
shadowColorUIColor | null阴影颜色。
shadowOpacitynumber阴影不透明度。
shadowOffset{ width: number, height: number }阴影偏移。
shadowRadiusnumber阴影模糊半径。
方法参数返回值说明
scrollPoint(p)p: { x: number, y: number }void滚动到点。
scrollRectToVisible(r)r: { x: number, y: number, width: number, height: number }void滚动使矩形可见。
display()void触发显示。
setNeedsDisplay()void标记需要重绘。
setNeedsDisplayInRect(r)r: { x: number, y: number, width: number, height: number }void标记某区域需要重绘。
needsDisplay()boolean是否需要重绘。
displayIfNeeded()void若需要则显示。
setNeedsLayout()void标记需要布局。
needsLayout()boolean是否需要布局。
layoutIfNeeded()void若需要则布局。
layoutSublayers()void布局子图层。
preferredFrameSize(){ width: number, height: number }推荐 frame size。
drawInContext(ctx)ctx: anyvoid在上下文绘制。
renderInContext(ctx)ctx: anyvoid渲染到上下文。
方法参数返回值说明
removeFromSuperlayer()void从父图层移除。
addSublayer(layer)layer: CALayervoid添加子图层。
insertSublayerAtIndex(layer, idx)layer: CALayer, idx: numbervoid插入子图层到指定索引。
insertSublayerBelow(layer, sibling)layer: CALayer, sibling: CALayervoid插入到某 sibling 下方。
insertSublayerAbove(layer, sibling)layer: CALayer, sibling: CALayervoid插入到某 sibling 上方。
replaceSublayerWith(layer, layer2)layer: CALayer, layer2: CALayervoid替换子图层。
方法参数返回值说明
convertPointFromLayer(p, l)p: { x: number, y: number }, l: CALayer{ x: number, y: number }从某图层坐标系转换点。
convertPointToLayer(p, l)p: { x: number, y: number }, l: CALayer{ x: number, y: number }转换点到某图层坐标系。
convertRectFromLayer(r, l)r: { x: number, y: number, width: number, height: number }, l: CALayer{ x: number, y: number, width: number, height: number }从某图层坐标系转换矩形。
convertRectToLayer(r, l)r: { x: number, y: number, width: number, height: number }, l: CALayer{ x: number, y: number, width: number, height: number }转换矩形到某图层坐标系。
convertTimeFromLayer(t, l)t: number, l: CALayernumber从某图层转换时间。
convertTimeToLayer(t, l)t: number, l: CALayernumber转换时间到某图层。
hitTest(p)p: { x: number, y: number }CALayer | null命中测试。
containsPoint(p)p: { x: number, y: number }boolean点是否在图层内。
方法参数返回值说明
addAnimationForKey(anim, key)anim: CAAnimation, key: string | nullvoid添加动画。
removeAllAnimations()void移除全部动画。
removeAnimationForKey(key)key: stringvoid按 key 移除动画。
animationKeys()NSArray当前动画 key 列表。
animationForKey(key)key: stringCAAnimation | null获取某 key 的动画。
actionForKey(event)event: stringany查询某事件的 action。
方法参数返回值说明
init()CALayer初始化。
presentationLayer()any返回 presentation layer(若存在)。
modelLayer()any返回 model layer(若存在)。
shouldArchiveValueForKey(key)key: stringboolean是否归档某 key。
affineTransform()object获取仿射变换。
setAffineTransform(m)m: objectvoid设置仿射变换。
contentsAreFlipped()boolean内容是否翻转。
方法参数返回值说明
layer()CALayer创建图层。
defaultValueForKey(key)key: stringany默认值。
needsDisplayForKey(key)key: stringboolean某 key 变化是否需要重绘。
defaultActionForKey(event)event: stringany某事件的默认 action。
头文件 API 清单

正在加载…

协议:,来源: