Uma ScrollingFrame consiste em uma tela personalizável e barras de rolagem com interatividade de rolagem embutida e diferentes maneiras de personalizar como a rolagem funciona. A ScrollingFrame é ideal para exibir muitas informações em um espaço confinado e funciona bem com layouts de lista e grade.

Tela
A tela é a área principal de uma ScrollingFrame que pode conter outros GuiObjects. O comportamento de rolagem se adapta automaticamente nas seguintes situações:
| Configuração do Frame | Resultado |
|---|---|
| O CanvasSize do frame é mais alto que sua altura total; especificamente, o total de CanvasSize.Y excede o total de Size.Y. | A rolagem vertical é ativada e uma barra de rolagem vertical aparece. |
| O CanvasSize do frame é mais largo que sua largura total; especificamente, o total de CanvasSize.X excede o total de Size.X. | A rolagem horizontal é ativada e uma barra de rolagem horizontal aparece. |
| O AutomaticCanvasSize do frame está definido como Y ou XY e a altura total de seu conteúdo (filhos GuiObjects) excede o total de Size.Y. | A rolagem vertical é ativada e uma barra de rolagem vertical aparece. |
| O AutomaticCanvasSize do frame está definido como X ou XY e a largura total de seu conteúdo (filhos GuiObjects) excede o total de Size.X. | A rolagem horizontal é ativada e uma barra de rolagem horizontal aparece. |
A propriedade CanvasPosition reflete o atual deslocamento posicional da tela dentro do frame, em pixels, e define a posição das barras de rolagem de acordo. Observe que esta propriedade não faz nada se as barras de rolagem não estiverem visíveis.
Insetos
O CanvasSize de um frame de rolagem pode ser afetado pelas propriedades VerticalScrollBarInset e/ou HorizontalScrollBarInset. No diagrama de exemplo a seguir, um frame de rolagem vertical usa uma largura de tela de 100%. Com VerticalScrollBarInset definido como None (padrão), a tela se estende até a largura total do frame de rolagem, obscurecendo uma pequena quantidade de conteúdo sob a barra de rolagem. Em contraste, uma configuração de VerticalScrollBarInset de Always ou ScrollBar insere a tela pela quantidade de ScrollBarThickness para que a tela se encontre de borda a borda com a barra de rolagem.

Barras de Rolagem
As barras de rolagem do frame refletem a posição atual da tela e fornecem interatividade automática de arrastar para rolar. Para barras de rolagem verticais, a propriedade VerticalScrollBarPosition muda a posição da barra para a esquerda ou direita da tela, mas as barras de rolagem horizontais só podem ser posicionadas abaixo da tela.
A construção da barra de rolagem consiste em três propriedades de ativos:
- TopImage — Exibe na parte superior de uma barra de rolagem vertical, ou à esquerda de uma barra de rolagem horizontal (rotacionada 90° no sentido anti-horário para uma barra de rolagem horizontal).
- MidImage — Abrange a área entre TopImage e BottomImage (rotacionada 90° no sentido anti-horário para uma barra de rolagem horizontal).
- BottomImage — Exibe na parte inferior de uma barra de rolagem vertical, ou à direita de uma barra de rolagem horizontal (rotacionada 90° no sentido anti-horário para uma barra de rolagem horizontal).

Cada imagem escala com base na propriedade ScrollBarThickness que muda a largura de uma barra de rolagem vertical ou a altura de uma barra de rolagem horizontal.
Modificações visuais adicionais podem ser feitas através das propriedades ScrollBarImageColor3 e ScrollBarImageTransparency que colorem os ativos de imagem da barra e modificam sua opacidade, respectivamente.
Recorte
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
Elasticidade
Por padrão, ScrollingFrames exibem um comportamento de rolagem elástica em dispositivos com toque, o que significa que os usuários podem arrastar a tela um pouco além de seus limites e, ao soltar, a tela retornará ao seu limite mínimo ou máximo. Se você quiser remover completamente o comportamento elástico e garantir que a tela nunca role além de seus limites, defina a propriedade ElasticBehavior como Never.