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(); } }