FrameNode 是一种用于定义布局层次结构的容器节点,类似于 HTML 中的 <div>
。可以通过 motiff.createFrame
创建 Frame。
Frame 有自己的尺寸,但在自动布局的情况下,其尺寸可以被子节点决定。
⚠️ 用户可以在属性面板中将 Frame 转换为 Group,反之亦然。如果你在插件中保存了一个 FrameNode 或者 GroupNode 的引用,在使用它时需要判断它是否还存在 (removed)。
节点类型,值为 "FRAME"。
复制 Frame 节点。默认情况下,复制的节点将被放置在 motiff.currentPage
下。嵌套的组件将被复制为实例,其主组件仍然指向原始组件。
节点的唯一标识符,例如 "42:43"。
返回当前节点的父节点(如果存在)。请注意这是一个只读属性,如需修改父节点关系,请使用 appendChild 方法。
在图层面板中显示的图层名称。调用 motiff.root.name
将返回当前文件的名称(只读)。
如果节点已被删除则返回 true。对于长时间运行的插件,建议编写防御性代码检查节点是否已被用户删除。
返回节点的字符串表示。此方法仅用于调试目的,请勿在生产环境中依赖其具体输出格式。
从文档中删除此节点及其所有子节点。
获取存储在节点或样式上的自定义数据。如果指定 key 不存在,返回空字符串。
在节点或样式上存储插件私有的自定义数据。
获取存储在节点或样式上的所有自定义数据的 key。
获取存储在节点或样式上的共享数据。如果指定的 namespace 和 key 不存在,返回空字符串。
在节点或样式上存储可供所有插件访问的共享数据。
获取指定 namespace 下所有共享数据的 key。
节点在画布上是否可见。
节点是否被锁定,防止在画布上进行某些用户交互,如选择和拖动。
附加在此节点上的所有组件属性。只有当节点是组件或实例的子图层时,节点才可以有 componentPropertyReferences
。否则将为 null。键值对中的值指的是由包含组件、组件集或主组件(对于实例)上的 componentPropertyDefinitions
返回的组件属性名称。
包含所有子节点的数组,按照从后到前的顺序排列:
在子节点数组末尾添加新的子节点,新节点在视觉上位于所有其他子节点的最上层。
在子节点数组的指定位置插入新的子节点。
搜索节点的直接子节点(不包括子节点的子节点)。返回所有满足条件的节点。
搜索节点的直接子节点,返回第一个满足条件的节点。
搜索整个节点树(包括当前节点的所有后代节点)。返回所有满足条件的节点。
搜索整个节点树,返回第一个满足条件的节点。
搜索整个节点树,返回满足所有指定条件的节点。
用于此节点的布局网格的 LayoutGrid 数组。
此节点关联的 GridStyle 的 ID。如果一个 FrameNode 有关联的 gridStyleId,那么它额 layoutGrids 属性就是该 GridStyle 的 layoutGrids。
是否裁剪其内容。即 Frame 内的图层是否在 Frame 的边界之外可见。
Frame 内使用的 Guide 数组。请注意,每个 Frame 都有自己的 Guides,与 Page 上的 Guides 是不相关的。
图层的自动布局模式。默认为 "NONE",即不使用自动布局。
图层是否应使用换行自动布局。默认为 "NO_WRAP"。
仅适用于自动布局 Frame。确定 Frame 边框与其子节点之间的左侧填充。
仅适用于自动布局 Frame。确定 Frame 边框与其子节点之间的右侧填充。
仅适用于自动布局 Frame。确定 Frame 边框与其子节点之间的顶部填充。
仅适用于自动布局 Frame。确定 Frame 边框与其子节点之间的底部填充。
仅适用于自动布局 Frame。确定主轴是固定长度(由用户确定)还是自动长度(由布局引擎确定)。
仅适用于自动布局 Frame。确定副轴是固定长度(由用户确定)还是自动长度(由布局引擎确定)。
仅适用于自动布局 Frame。确定自动布局 Frame 的子节点在主轴方向上的对齐方式。
仅适用于自动布局 Frame。确定自动布局 Frame 的子节点在副轴方向上的对齐方式。
仅适用于 layoutWrap
设置为 "WRAP" 的自动布局 Frame。确定自动布局 Frame 内的换行间距。
仅适用于自动布局 Frame。确定 Frame 的子节点之间的距离。
仅适用于 layoutWrap
设置为 "WRAP" 的自动布局 Frame。确定换行间距。值必须为正。
仅适用于自动布局 Frame。确定此 Frame 中图层的画布堆叠顺序。当为 true 时,第一个图层将绘制在顶部。
在图层面板中是否展开。
图层的填充颜色数组。
此节点关联的 PaintStyle 的 id。
图层的描边颜色数组。
此节点关联的 StrokeStyle 的 id。
描边的宽度,以像素为单位。此值必须为非负数,并且可以是小数。
描边顶点连接点的样式。
描边相对于图形边界的对齐方式。
指定交替的破折号和空白长度的数字列表,以像素为单位。
只有一个连接段的顶点的样式。
图层的圆角半径。
圆角的“平滑”程度。范围从 0 到 1。
RectangleNode 或 FrameNode 的四个角可以单独设置圆角半径。与 cornerRadius
一样,这些值必须为非负数,并且可以是小数。如果边长小于圆角半径的两倍,则边的每个顶点的圆角半径将被限制为边长的一半。
RectangleNode 或 FrameNode 的四个边可以单独设置描边宽度。与 strokeWeight
类似,这些值必须为非负数,并且可以是小数。要隐藏一侧,可以将值设置为 0。
上描边宽度。必须为非负数,并且可以是小数。
下描边宽度。必须为非负数,并且可以是小数。
左描边宽度。必须为非负数,并且可以是小数。
右描边宽度。必须为非负数,并且可以是小数。
节点的不透明度。必须在 0 到 1 之间。
此节点的混合模式。
此节点是否为 Mask。Mask 节点会遮罩其后续兄弟节点。
此节点的 mask 类型。默认为 "ALPHA"。更改 maskType
不会设置 isMask
为 true,在使用这个属性时,你需要先判断 isMask
。
效果数组。
此节点关联的 EffectStyle 的 ID。
节点的水平位置。与 relativeTransform[0][2]
相同。
节点的垂直位置。与 relativeTransform[1][2]
相同。
节点的宽度。可以使用 resize
方法更改此值。
节点的高度。可以使用 resize
方法更改此值。
仅适用于自动布局 Frame 及其直接子节点。值必须为正。设置为 null 以移除 minWidth
。
仅适用于自动布局 Frame 及其直接子节点。值必须为正。设置为 null 以移除 maxWidth
。
仅适用于自动布局 Frame 及其直接子节点。值必须为正。设置为 null 以移除 minHeight
。
仅适用于自动布局 Frame 及其直接子节点。值必须为正。设置为 null 以移除 maxHeight
。
节点相对于其父节点的位置。
节点相对于其所在页面的位置。
不包括渲染属性(如阴影或描边)的节点边界框。此属性中的 x 和 y 表示节点在页面上的绝对位置。
仅适用于自动布局 Frame 的直接子节点。确定图层是否应沿父节点的副轴拉伸。默认为 "INHERIT"。
仅适用于自动布局 Frame 的直接子节点。确定图层是否应沿父节点的主轴拉伸。0 对应于固定大小,1 对应于拉伸。
仅适用于自动布局 Frame 的直接子节点。确定图层的大小和位置是否应由自动布局设置决定或手动调整。
图层的实际边界框,它包含了阴影、描边等其他实际渲染的内容。如果节点不可见,则此值为 null。
调整大小时,是否保持图层的长宽比例。
节点的旋转角度。返回 -180 到 180 之间的值。与 relativeTransform
矩阵中的 Math.atan2(-m10, m00)
相同。设置旋转时,也会设置 m00
、m01
、m10
、m11
。
调整节点的大小。如果节点包含具有约束的子节点,则在调整大小时也会应用这些约束。如果父节点具有自动布局,父节点的大小也会重新计算。
调整节点的大小,忽略子节点的约束。如果父节点具有自动布局,则导致父节点调整大小(此约束无法忽略)。
缩放节点。
相对于其父节点的约束。
存储在节点上的导出设置。
将节点导出为编码后的图像。支持多种导出格式:
节点上的原型交互列表,包括在原型中与此节点交互的方法以及该交互的行为。
当 Frame 中有超出 Frame 边界的内容时,Frame 在演示模式下是否会滚动。