position | 屏幕上用于文本字段的矩形。 |
label | (可选)显示在文本字段前的标签。 |
text | 要编辑的文本。 |
style | 可选 GUIStyle。 |
string 用户输入的文本。
创建一个文本字段。
此方法的运行方式与 GUI.TextField 类似,但能够正确响应编辑器中的 Select All、Copy、Paste 等操作,
并可在前面提供一个可选标签。
编辑器窗口中的 Text 字段。
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(); } }