滚动框架

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处

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

Example ScrollingFrame on the screen containing a tabbed category bar and a list of magical items for the player to consider purchasing.

画布

画布 是包含其他 的主区域 。滚动行为在以下场景中自动适应:

框架设置结果
框架的 CanvasSize 高于整体高度;具体来说,总计 CanvasSize.Y 超过了总计 Size.Y垂直滚动启用,并出现垂直滚动栏。
框架的 CanvasSize 比整体宽度更广;具体来说,总计 CanvasSize.X 超过了总计 Size.X横向滚动已启用,并出现了一个横向滚动栏。
框架的 AutomaticCanvasSize 设置为 YXY ,其内容(子 GuiObjects )的总高度超过其总高度 Size.Y垂直滚动启用,并出现垂直滚动栏。
框架的 AutomaticCanvasSize 设置为 XXY ,其内容(子 GuiObjects )的总宽度超过其总宽度 Size.X横向滚动已启用,并出现了一个横向滚动栏。

CanvasPosition 属性反映了框内画布的 当前 位置偏移,以像素计,并根据此设置滚动条的位置。请注意,如果滚动栏不可见,该属性将无任何作用。

插入

滚动框的 CanvasSize 可能受到 VerticalScrollBarInset 和/或 HorizontalScrollBarInset 属性的影响。在以下示例图中,垂直滚动框使用了画布宽度为 100%。通过将 VerticalScrollBarInset 设置为 None (默认值),画布扩展到滚动框的全宽,遮蔽了滚动栏下的少量内容。相反,一个 VerticalScrollBarInset 设置,无论是 Always 还是 ScrollBar 插入画布,以 ScrollBarThickness 数量满足边缘到边,使画布与滚动栏匹配。

滚动条

框架的 滚动栏 反映当前画布位置,提供自动拖动滚动互动性。对于垂直滚动条,VerticalScrollBarPosition 属性将滚动条的位置切换为画布左侧或右侧,但横向滚动条只能位于画布下方。

滚动栏的建造包括三个资产属性:

  • TopImage — 显示在垂直滚动栏顶部或横向滚动栏左侧(旋转 90° 逆时针为横向滚动栏)。
  • MidImage — 覆盖 TopImageBottomImage 之间的区域(旋转 90° 逆时针为水平滚动条)
  • BottomImage — 在垂直滚动栏的底部或横向滚动栏的右侧显示(对于横向滚动栏,旋转 90° 逆时针)
Diagram showing the three image asset elements which construct a scrolling frame's scroll bar.

每张图像的尺寸都基于 ScrollBarThickness 属性,该属性会改变垂直滚动条或横向滚动条的宽度或高度。

额外的视觉修改可以通过 ScrollBarImageColor3ScrollBarImageTransparency 属性来实现,这些属性会对条形图的图像资产进行染色并修改其不透明度,分别。

弹性

默认情况下,ScrollingFrames 在触摸启用的设备上展示弹性滚动行为,这意味着用户可以拖动画布稍远于其边界,并在释放时,画布将回弹至其最低或最大限度。如果您想完全移除弹性行为并确保画布永远不会超过其限制,请将 ElasticBehavior 属性设置为 Never