ScrollContainer

Успадковує: Container < Control < CanvasItem < Node < Object

Успадковано від: EditorInspector

Контейнер, який використовується для забезпечення прокруток дитини при необхідності.

Опис

Контейнер, який використовується для забезпечення контролю дитини з прокрутками при необхідності. Скролборди автоматично будуть намальовані на правому (для вертикального) або дна (для горизонтальних) і дозволять перетягування, щоб перемістити видимий контроль (і його діти) в рамках ScrollContainer. Скролбари також автоматично змінять зчеплення на основі Control.custom_minimum_size контролю відносно ScrollContainer.

Посібники

Властивості

bool

clip_contents

true (overrides Control)

bool

draw_focus_border

false

bool

follow_focus

false

ScrollMode

horizontal_scroll_mode

1

int

scroll_deadzone

0

int

scroll_horizontal

0

float

scroll_horizontal_custom_step

-1.0

int

scroll_vertical

0

float

scroll_vertical_custom_step

-1.0

ScrollMode

vertical_scroll_mode

1

Методи

void

ensure_control_visible(control: Control)

HScrollBar

get_h_scroll_bar()

VScrollBar

get_v_scroll_bar()

Властивості теми

StyleBox

focus

StyleBox

panel


Сигнали

scroll_ended() 🔗

Випробувано при прокручуванні зупинок при перетягування прокрученої площі * з сенсорною подією . Цей сигнал *not введений при прокручуванні, прокручування за допомогою миші або прокручування за допомогою клавіатури / грипада подій.

Примітка: Цей сигнал використовується тільки на Android або iOS, або на настільних / веб-платформах, коли ProjectSettings.input_devices/pointing/emulate_touch_from_mouse.


scroll_started() 🔗

Випробувано при прокручуванні починається при перетягування прокрученої площі with сенсорний захід. Цей сигнал not вдається при прокручуванні за допомогою прокручування, прокручування за допомогою миші або прокручування за допомогою клавіатури / грипаду подій.

Примітка: Цей сигнал використовується тільки на Android або iOS, або на настільних / веб-платформах, коли ProjectSettings.input_devices/pointing/emulate_touch_from_mouse.


Переліки

enum ScrollMode: 🔗

ScrollMode SCROLL_MODE_DISABLED = 0

Вимкніть вимкнені, прокрутка буде невидимимим.

ScrollMode SCROLL_MODE_AUTO = 1

Увімкнути, прокрутку буде видно тільки при необхідності, тобто вміст контейнера більше, ніж контейнер.

ScrollMode SCROLL_MODE_SHOW_ALWAYS = 2

Увімкнено прокрутку, прокрутка завжди буде видно.

ScrollMode SCROLL_MODE_SHOW_NEVER = 3

Увімкніть, прокрутка буде прихована.

ScrollMode SCROLL_MODE_RESERVE = 4

Поєднує SCROLL_MODE_AUTO і SCROLL_MODE_SHOW_ALWAYS. Смуга прокрутки відображається лише за необхідності, але розмір вмісту регулюється так, ніби він завжди був видимим. Це корисно для забезпечення того, щоб розмір вмісту залишався незмінним незалежно від того, чи видно смугу прокрутки.


Описи властивостей

bool draw_focus_border = false 🔗

  • void set_draw_focus_border(value: bool)

  • bool get_draw_focus_border()

Якщо true, focus малюється, коли сфокусовано ScrollContainer або один із його вузлів-нащадків.


bool follow_focus = false 🔗

  • void set_follow_focus(value: bool)

  • bool is_following_focus()

Якщо true, ScrollContainer автоматично прокручує до фокусованих дітей (включаючи непрямі діти), щоб переконатися, що вони повністю видимі.


ScrollMode horizontal_scroll_mode = 1 🔗

Контролює, чи можна використовувати горизонтальну смугу прокручування та коли вона має бути видимою.


int scroll_deadzone = 0 🔗

  • void set_deadzone(value: int)

  • int get_deadzone()

Дедзон для сенсорного прокручування. Низьке мертвозон робить прокручування більш чутливою.


int scroll_horizontal = 0 🔗

  • void set_h_scroll(value: int)

  • int get_h_scroll()

Поточне значення горизонтальної прокрутки.

Примітка. Якщо ви встановлюєте це значення у функції Node._ready() або раніше, його потрібно обернути Object.set_deferred(), оскільки Range.max_value смуги прокрутки ще не ініціалізовано.

func _ready():
    set_deferred("scroll_horizontal", 600)

float scroll_horizontal_custom_step = -1.0 🔗

  • void set_horizontal_custom_step(value: float)

  • float get_horizontal_custom_step()

На відміну від ScrollBar.custom_step використовується при натисканні на горизонтальну підшлункову планку та натисканні кнопки або при використанні клавіш зі стрілками при фокусі ScrollBar.


int scroll_vertical = 0 🔗

  • void set_v_scroll(value: int)

  • int get_v_scroll()

Поточне значення вертикальної прокрутки.

**Примітка: ** Раннє налаштування потрібно відкласти, як і в scroll_horizontal.

func _ready():
    set_deferred("scroll_vertical", 600)

float scroll_vertical_custom_step = -1.0 🔗

  • void set_vertical_custom_step(value: float)

  • float get_vertical_custom_step()

На відміну від ScrollBar.custom_step використовується при натисканні на вертикальну підв’язкість та відключення кнопки або при використанні клавіш зі стрілками при фокусі ScrollBar.


ScrollMode vertical_scroll_mode = 1 🔗

Контролює, чи можна використовувати вертикальну смугу прокручування та коли вона має бути видимою.


Описи методів

void ensure_control_visible(control: Control) 🔗

Забезпечує задану параметровий контроль видиму (посередньо чи непряму дитину ScrollContainer). Використовуються follow_focus.

Примітка: Це не буде працювати на вершині, яка була просто додана під час однакового каркасу. Якщо ви хочете прокрутити до нової дитини, ви повинні чекати до наступного кадру за допомогою SceneTree.process_frame:

add_child(child_node)
await get_tree().process_frame
ensure_control_visible(child_node)

HScrollBar get_h_scroll_bar() 🔗

Повертає горизонтальну прокрутку HScrollBar цього ScrollContainer.

Попередження: Це необхідний внутрішній вузол, видаляючи і звільняючи його може призвести до аварії. Якщо ви хочете відключити або приховати прокрутку, ви можете скористатися horizontal_scroll_mode.


VScrollBar get_v_scroll_bar() 🔗

Повертає вертикальні прокрутки VScrollBar цього ScrollContainer.

Попередження: Це необхідний внутрішній вузол, видаляючи і звільняючи його може призвести до аварії. Якщо ви хочете відключити або приховати прокрутку, ви можете скористатися vertical_scroll_mode.


Описи тематичної нерухомості

StyleBox focus 🔗

Межа фокусу StyleBox ScrollContainer. Використовується, лише якщо draw_focus_border має значення true.


StyleBox panel 🔗

Підручник StyleBox ScrollContainer.