版本:Unity 6 (6000.0)
语言英语
  • C#

EditorGUILayout.TextArea

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。尽管我们无法接受所有提交,但我们确实会仔细阅读每一条建议的更改并尽可能进行更新。

关闭

提交失败

由于某些原因,无法提交您的建议更改。请在几分钟后<a>重试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

public static string TextArea(string text, params GUILayoutOption[] options);

声明

public static string TextArea(string text, GUIStyle style, params GUILayoutOption[] options);

参数

text 要编辑的文本。
style 可选的 GUIStyle
options 指定额外布局属性的可选布局选项列表。此处传递的所有值都将覆盖 style 定义的设置。
其他资源:GUILayout.WidthGUILayout.HeightGUILayout.MinWidthGUILayout.MaxWidthGUILayout.MinHeightGUILayout.MaxHeightGUILayout.ExpandWidthGUILayout.ExpandHeight

返回值

string 用户输入的文本。

说明

创建文本区域。

这与 @@GUILayout.TextArea@@ 的工作原理相同,对诸如“在编辑器中全选”、“复制”、“粘贴”等操作做出适当响应。
有关撤销支持,请参阅 Undo.RecordObject
要使文本自动换行,请设置 EditorStyles.textField.wordWrap


快速脚本编辑器。

// Simple script that lets you visualize your scripts in an editor window
// This can be expanded to save your scripts also in the editor window.

using UnityEngine; using UnityEditor;

public class TextAreaExample : EditorWindow { string text = "Nothing Opened..."; TextAsset txtAsset; Vector2 scroll;

[MenuItem("Examples/TextArea usage")] static void Init() { TextAreaExample window = (TextAreaExample)GetWindow(typeof(TextAreaExample), true, "EditorGUILayout.TextArea"); window.Show(); }

Object source;

void OnGUI() { source = EditorGUILayout.ObjectField(source, typeof(Object), true); TextAsset newTxtAsset = (TextAsset)source;

if (newTxtAsset != txtAsset) ReadTextAsset(newTxtAsset);

scroll = EditorGUILayout.BeginScrollView(scroll, GUILayout.Height(position.height - 30)); text = EditorGUILayout.TextArea(text); EditorGUILayout.EndScrollView(); }

void ReadTextAsset(TextAsset txt) { text = txt.text; txtAsset = txt; } }