Một ScrollingFrame bao gồm một canvas có thể tùy chỉnh và thanh cuộn với tính năng cuộn tương tác tích hợp và nhiều cách khác nhau để tùy chỉnh cách thức cuộn hoạt động. ScrollingFrame rất lý tưởng để hiển thị nhiều thông tin trong một không gian hạn chế và hoạt động tốt với các bố cục danh sách và lưới.

Canvas
Canvas là khu vực chính của một ScrollingFrame có thể chứa các GuiObjects khác. Hành vi cuộn tự động thích ứng trong các tình huống sau:
| Cài đặt khung | Kết quả |
|---|---|
| Kích thước CanvasSize của khung cao hơn chiều cao tổng thể của nó; cụ thể là tổng CanvasSize.Y vượt quá tổng Size.Y. | Cuộn dọc được kích hoạt và một thanh cuộn dọc xuất hiện. |
| Kích thước CanvasSize của khung rộng hơn chiều rộng tổng thể của nó; cụ thể là tổng CanvasSize.X vượt quá tổng Size.X. | Cuộn ngang được kích hoạt và một thanh cuộn ngang xuất hiện. |
| Cài đặt AutomaticCanvasSize của khung được đặt thành Y hoặc XY và tổng chiều cao của nội dung của nó (các GuiObjects con) vượt quá tổng Size.Y. | Cuộn dọc được kích hoạt và một thanh cuộn dọc xuất hiện. |
| Cài đặt AutomaticCanvasSize của khung được đặt thành X hoặc XY và tổng chiều rộng của nội dung của nó (các GuiObjects con) vượt quá tổng Size.X. | Cuộn ngang được kích hoạt và một thanh cuộn ngang xuất hiện. |
Thuộc tính CanvasPosition phản ánh độ lệch vị trí hiện tại của canvas trong khung, tính bằng pixel, và nó thiết lập vị trí của các thanh cuộn tương ứng. Lưu ý rằng thuộc tính này không có tác dụng nếu các thanh cuộn không hiển thị.
Insets
Kích thước CanvasSize của một khung cuộn có thể bị ảnh hưởng bởi thuộc tính VerticalScrollBarInset và/hoặc HorizontalScrollBarInset. Trong sơ đồ ví dụ sau, một khung cuộn dọc sử dụng chiều rộng canvas là 100%. Với VerticalScrollBarInset được đặt thành None (mặc định), canvas mở rộng đến toàn bộ chiều rộng của khung cuộn, che khuất một chút nội dung dưới thanh cuộn. Ngược lại, cài đặt VerticalScrollBarInset là Always hoặc ScrollBar sẽ lùi canvas lại theo số lượng ScrollBarThickness để canvas gặp cạnh với thanh cuộn.

Thanh cuộn
Thanh cuộn của khung phản ánh vị trí canvas hiện tại và cung cấp tính năng kéo để cuộn tự động. Đối với các thanh cuộn dọc, thuộc tính VerticalScrollBarPosition chuyển đổi vị trí của thanh sang bên trái hoặc bên phải của canvas, nhưng các thanh cuộn ngang chỉ có thể được đặt bên dưới canvas.
Cấu trúc thanh cuộn bao gồm ba thuộc tính tài sản:
- TopImage — Hiển thị ở trên cùng của một thanh cuộn dọc, hoặc bên trái của một thanh cuộn ngang (xoay 90° ngược chiều kim đồng hồ cho một thanh cuộn ngang).
- MidImage — Kéo dài khu vực giữa TopImage và BottomImage (xoay 90° ngược chiều kim đồng hồ cho một thanh cuộn ngang).
- BottomImage — Hiển thị ở dưới cùng của một thanh cuộn dọc, hoặc bên phải của một thanh cuộn ngang (xoay 90° ngược chiều kim đồng hồ cho một thanh cuộn ngang).

Mỗi hình ảnh được điều chỉnh kích thước dựa trên thuộc tính ScrollBarThickness thay đổi chiều rộng của một thanh cuộn dọc hoặc chiều cao của một thanh cuộn ngang.
Các sửa đổi hình ảnh bổ sung có thể được thực hiện thông qua các thuộc tính ScrollBarImageColor3 và ScrollBarImageTransparency để tô màu cho các tài sản hình ảnh của thanh và điều chỉnh độ trong suốt của nó, tương ứng.
Cắt
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
Đàn hồi
Theo mặc định, ScrollingFrames thể hiện hành vi cuộn đàn hồi trên các thiết bị hỗ trợ cảm ứng, có nghĩa là người dùng có thể kéo canvas hơi xa hơn giới hạn của nó và, khi thả ra, canvas sẽ bật lại về giới hạn tối thiểu hoặc tối đa của nó. Nếu bạn muốn loại bỏ hoàn toàn hành vi đàn hồi và đảm bảo rằng canvas không bao giờ cuộn vượt quá giới hạn của nó, hãy đặt thuộc tính ElasticBehavior thành Never.