Disposable helper class for managing BeginScrollView / EndScrollView.
These work just like GUILayout.ScrollViewScope but feel more application-like and should be used in the editor
Label inside a scroll view.
#pragma strict // Simple Editor Window that creates a scroll view with a Label inside class BeginEndScrollView extends EditorWindow { var scrollPos; var t = "This is a string inside a Scroll view!"; @MenuItem("Examples/Write text on ScrollView") static function Init() { var window = GetWindow.<BeginEndScrollView>(); window.Show(); } function OnGUI() { var h = new EditorGUILayout.HorizontalScope(); { var scrollView = new EditorGUILayout.ScrollViewScope(scrollPos, GUILayout.Width(100), GUILayout.Height(100)); { scrollPos = scrollView.scrollPosition; GUILayout.Label(t); } if (GUILayout.Button("Add More Text", GUILayout.Width(100), GUILayout.Height(100))) t += " \nAnd this is more text!"; } if (GUILayout.Button("Clear")) t = ""; } }
using UnityEngine; using UnityEditor;
// Simple Editor Window that creates a scroll view with a Label inside class BeginEndScrollView : EditorWindow { Vector2 scrollPos; string t = "This is a string inside a Scroll view!"; [MenuItem("Examples/Write text on ScrollView")] static void Init() { var window = GetWindow<BeginEndScrollView>(); window.Show(); }
void OnGUI() { using (var h = new EditorGUILayout.HorizontalScope ()) { using (var scrollView = new EditorGUILayout.ScrollViewScope (scrollPos, GUILayout.Width (100), GUILayout.Height (100))) { scrollPos = scrollView.scrollPosition; GUILayout.Label(t); } if(GUILayout.Button("Add More Text", GUILayout.Width (100), GUILayout.Height (100))) t += " \nAnd this is more text!"; } if(GUILayout.Button("Clear")) t = ""; } }
handleScrollWheel | Whether this ScrollView should handle scroll wheel events. (default: true). |
scrollPosition | The modified scrollPosition. Feed this back into the variable you pass in, as shown in the example. |
EditorGUILayout.ScrollViewScope | Create a new ScrollViewScope and begin the corresponding ScrollView. |