GUI.ScrollViewScope
Disposable helper class for managing GUI.BeginScrollView / GUI.EndScrollView.
Read time 2 minutesLast updated 5 days ago
Definition
- Type: Class
- Namespace: UnityEngine
- Assembly: UnityEngine.IMGUIModule
- Inherits from: Scope
- Implements: IDisposable
public class GUI.ScrollViewScope : GUI.Scope, IDisposable
Remarks
GUI.BeginScrollView is called at construction, and GUI.EndScrollView is called when the instance is disposed. ScrollViews let you make a smaller area on-screen look 'into' a much larger area, using scrollbars placed on the sides of the ScrollView.
Examples
using UnityEngine;public class ExampleClass : MonoBehaviour{ // The position of the scrolling viewport public Vector2 scrollPosition = Vector2.zero; void OnGUI() { // An absolute-positioned example: We make a scrollview that has a really large client // rect and put it in a small rect on the screen. using (var scrollScope = new GUI.ScrollViewScope(new Rect(10, 300, 100, 100), scrollPosition, new Rect(0, 0, 220, 200))) { scrollPosition = scrollScope.scrollPosition; // Make four buttons - one in each corner. The coordinate system is defined // by the last parameter to the ScrollScope constructor. GUI.Button(new Rect(0, 0, 100, 20), "Top-left"); GUI.Button(new Rect(120, 0, 100, 20), "Top-right"); GUI.Button(new Rect(0, 180, 100, 20), "Bottom-left"); GUI.Button(new Rect(120, 180, 100, 20), "Bottom-right"); } // Now the scroll view is ended. }}
Constructors
Constructor | Description |
|---|---|
| ScrollViewScope(UnityEngine.Rect,UnityEngine.Vector2,UnityEngine.Rect) | Create a new ScrollViewScope and begin the corresponding ScrollView. |
| ScrollViewScope(UnityEngine.Rect,UnityEngine.Vector2,UnityEngine.Rect,System.Boolean,System.Boolean) | Create a new ScrollViewScope and begin the corresponding ScrollView. |
| ScrollViewScope(UnityEngine.Rect,UnityEngine.Vector2,UnityEngine.Rect,System.Boolean,System.Boolean,UnityEngine.GUIStyle,UnityEngine.GUIStyle) | Create a new ScrollViewScope and begin the corresponding ScrollView. |
| ScrollViewScope(UnityEngine.Rect,UnityEngine.Vector2,UnityEngine.Rect,UnityEngine.GUIStyle,UnityEngine.GUIStyle) | Create a new ScrollViewScope and begin the corresponding ScrollView. |
Properties
Property | Description |
|---|---|
| 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. |