一个 ScrollingFrame 由可定制的 画布 和 滚动条 组成,其中包含内置滚动交互性和不同的方法来自定义滚动如何工作。ScrollingFrame 非常适合在有限空间中显示大量信息,与列表和网格布局兼容良好。

画布
画布 是包含其他 的主区域 。滚动行为在以下场景中自动适应:
框架设置 | 结果 |
---|---|
框架的 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 属性来实现,这些属性会对条形图的图像资产进行染色并修改其不透明度,分别。
弹性
默认情况下,ScrollingFrames 在触摸启用的设备上展示弹性滚动行为,这意味着用户可以拖动画布稍远于其边界,并在释放时,画布将回弹至其最低或最大限度。如果您想完全移除弹性行为并确保画布永远不会超过其限制,请将 ElasticBehavior 属性设置为 Never。