Описание
Одноразовый вспомогательный класс для управления BeginScrollView / EndScrollView.
Автоматическая прокрутка будет отображать любой контент, который у вас есть внутри, и отображать его в обычном режиме. Если он не подходит, появятся полосы прокрутки. Вызов BeginScrollView всегда должен сопоставляться с вызовом EndScrollView.

using UnityEngine;
using UnityEditor;
public class ExampleClass : MonoBehaviour
{
// Переменная для управления тем, где вид прокрутки «смотрит» на свои дочерние элементы.
public Vector2 scrollPosition;
// The string to display inside the scrollview. 2 buttons below add & clear this string.
public string longString = "This is a long-ish string";
void OnGUI()
{
// Начать просмотр прокрутки. Все прямоугольники рассчитываются автоматически -
// он будет использовать все доступное место на экране и обеспечит правильную передачу содержимого.
// Это остается небольшим с двумя последними параметрами, чтобы вызвать появление полос прокрутки.
using (var scrollViewScope = new ScrollViewScope(scrollPosition, GUILayout.Width(100), GUILayout.Height(100)))
{
scrollPosition = scrollViewScope.scrollPosition;
// Мы просто добавляем одну метку внутри прокрутки view. Note how the
// полосы прокрутки будут корректно работать с переносом слов.
GUILayout.Label(longString);
// Добавляем кнопку для очистки строки. Это внутри области прокрутки, поэтому
// также будет прокручиваться. Обратите внимание, как кнопка становится уже, чтобы освободить место
// для вертикальной полосы прокрутки
if (GUILayout.Button("Clear"))
longString = "";
}
// Теперь мы добавляем кнопку вне прокрутки - это будет показано ниже
// область прокрутки.
if (GUILayout.Button("Add More Text"))
longString += "\nHere is another line";
}
}
Свойства
handleScrollWheel | Должен ли этот ScrollView обрабатывать события колеса прокрутки. (по умолчанию: правда). |
scrollPosition | Модифицированный scrollPosition. Подайте это обратно в переменную, которую вы передаете, как показано в примере. |
Конструкторы
GUILayout.ScrollViewScope | Создаёт новый ScrollViewScope и запускает соответствующий ScrollView. |