EditorGUI.FocusTextInControl

Switch to Manual
public static void FocusTextInControl (string name);

Parameters

name@param name Имя контрола, заданное с помощью функции GUI.SetNextControlName.

Description

Переносит фокус клавиатуры к названному текстовому полю и начинает редактирование содержимого.

В интерфейсе редактора текстовые поля могут иметь фокус клавиатуры, не редактируя текст. Например, вы можете переключать фокус между текстовыми полями или другими контролами с помощью клавиш со стрелками вверх и вниз. После того, как вы кликните внутри текстового поля, начнется редактирование текста и клавиши со стрелками будут использованы для перемещения по содержимому. EditorGUI.FocusTextInControl работает здесь как GUI.FocusControl - устанавливает фокус клавиатуры на контрол, но также начинает редактирование самого текста.

See Also: GUI.SetNextControlName, GUI.GetNameOfFocusedControl.

using UnityEngine;
using UnityEditor;

public class Example : EditorWindow { // When pressed the button, selects the "username" Textfield. string username = "username"; string pwd = "a pwd"; void OnInspectorGUI() { // Set the internal name of the textfield GUI.SetNextControlName("MyTextField");

// Make the actual text field. username = EditorGUI.TextField(new Rect(10, 10, 100, 20), username); pwd = EditorGUI.TextField(new Rect(10, 40, 100, 20), pwd);

// If the user presses this button, keyboard focus will move. if (GUI.Button(new Rect(10, 70, 80, 20), "Move Focus")) { EditorGUI.FocusTextInControl("MyTextField"); } } }
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961