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

EditorGUI.TextField

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实会阅读用户提出的每个建议更改,并在适用时进行更新。

关闭

提交失败

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

关闭

取消

声明

public static string TextField(Rect position, string text, GUIStyle style = EditorStyles.textField);

声明

public static string TextField(Rect position, string label, string text, GUIStyle style = EditorStyles.textField);

声明

public static string TextField(Rect position, GUIContent label, string text, GUIStyle style = EditorStyles.textField);

参数

position 屏幕上用于文本字段的矩形。
label 可选的标签,显示在文本字段前面。
text 要编辑的文本。
style 可选的 GUIStyle

返回值

string 用户输入的文本。

描述

创建一个文本字段。

这与 GUI.TextField 相同,但正确地响应了编辑器中的全选、复制、粘贴等操作,并且它可以在前面有一个可选的标签。


编辑器窗口中的文本字段。

using UnityEngine;
using UnityEditor;

// Changes the name of the selected Objects to the one typed in the text field

class EditorGUITextField : EditorWindow { string objNames = "";

[MenuItem("Examples/Bulk Name change")] static void Init() { var window = GetWindow<EditorGUITextField>(); window.Show(); }

void OnGUI() { EditorGUI.DropShadowLabel(new Rect(0, 0, position.width, 20), "Select the objects to rename.");

objNames = EditorGUI.TextField(new Rect(10, 25, position.width - 20, 20), "New Names:", objNames);

if (Selection.activeTransform) { if (GUI.Button(new Rect(0, 50, position.width, 30), "Bulk rename!")) { foreach (Transform t in Selection.transforms) { t.name = objNames; } } } }

void OnInspectorUpdate() { Repaint(); } }