Объявление
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;
// Изменяет имя выбранных Объектов на введенное в текстовое поле
class EditorGUITextField : EditorWindow
{
string objNames = "";
[MenuItem("Examples/Bulk Name change")]
static void Init()
{
var window = GetWindow();
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();
}
}