ScrollingFrame 由一个可自定义的 画布 和 滚动条 组成,具有内置的滚动交互功能,并提供多种自定义滚动方式。ScrollingFrame 非常适合在有限空间内显示大量信息,并且与 列表 和 网格 布局配合良好。

画布
画布 是 ScrollingFrame 的主要区域,可以包含其他 GuiObjects。在以下情况下,滚动行为会自动适应:
| 框架设置 | 结果 |
|---|---|
| 框架的 CanvasSize 高于其整体高度;具体来说,总的 CanvasSize.Y 超过总的 Size.Y。 | 启用垂直滚动,并出现垂直滚动条。 |
| 框架的 CanvasSize 宽于其整体宽度;具体来说,总的 CanvasSize.X 超过总的 Size.X。 | 启用水平滚动,并出现水平滚动条。 |
| 框架的 AutomaticCanvasSize 设置为 Y 或 XY,并且其内容(子 GuiObjects)的总高度超过其总的 Size.Y。 | 启用垂直滚动,并出现垂直滚动条。 |
| 框架的 AutomaticCanvasSize 设置为 X 或 XY,并且其内容(子 GuiObjects)的总宽度超过其总的 Size.X。 | 启用水平滚动,并出现水平滚动条。 |
CanvasPosition 属性反映了画布在框架内的 当前 位置偏移(以像素为单位),并相应地设置滚动条的位置。请注意,如果滚动条不可见,则此属性不会起作用。
内边距
滚动框架的 CanvasSize 可能会受到 VerticalScrollBarInset 和/或 HorizontalScrollBarInset 属性的影响。在以下示例图中,一个垂直滚动的框架使用 100% 的画布宽度。当 VerticalScrollBarInset 设置为 None(默认)时,画布扩展到滚动框架的全宽,遮挡了滚动条下方的一小部分内容。相反,VerticalScrollBarInset 设置为 Always 或 ScrollBar 时,画布会根据 ScrollBarThickness 的值进行内缩,以便画布与滚动条边缘对齐。

滚动条
框架的 滚动条 反映当前画布位置,并提供自动拖动滚动的交互功能。对于垂直滚动条,VerticalScrollBarPosition 属性可以将滚动条的位置切换到画布的左侧或右侧,但水平滚动条只能放置在画布下方。
滚动条的构造由三个资产属性组成:
- TopImage — 显示在垂直滚动条的顶部,或水平滚动条的左侧(对于水平滚动条逆时针旋转 90°)。
- BottomImage — 显示在垂直滚动条的底部,或水平滚动条的右侧(对于水平滚动条逆时针旋转 90°)。

每个图像根据 ScrollBarThickness 属性进行缩放,该属性改变垂直滚动条的宽度或水平滚动条的高度。
可以通过 ScrollBarImageColor3 和 ScrollBarImageTransparency 属性进行额外的视觉修改,这些属性分别用于给滚动条的图像资产上色和修改其不透明度。
裁剪
By default, GuiObject containers clip their content (descendant GuiObjects) through the ClipsDescendants boolean. If you want descendants to appear outside of a container's bounds, simply set ClipsDescendants to false.


Importantly, StarterGui.ClipsDescendantsSupportsRotation must be true for clipping to work on rotated descendants (non‑zero Rotation) within the container. However, clipping by a rotated container (clipping container itself is rotated) or by rounded corners (UICorner) is not supported. If you need clipping on rotated or rounded containers, consider CanvasGroup.

Rotation = 0

Rotation = 10
弹性
默认情况下,ScrollingFrames 在触摸设备上表现出弹性滚动行为,这意味着用户可以将画布拖动到其边界之外,并在释放时,画布会弹回到其最小或最大限制。如果您希望完全移除弹性行为并确保画布永远不会超出其限制,请将 ElasticBehavior 属性设置为 Never。