TextField 지우기 방법

3216 단어 UnityEditorUnity

TextField 지우기


UnityEditor를 사용할 때 TextField 및 TextArea에서 입력한 값을 지울 수 있습니다.
하지만 아래 내용을 솔직하게 써도 지울 수 없고 남은 글은 그대로 남는다.
string textFieldValue ="";

void OnGUI()
{
    textFieldValue = EditorGUILayout.TextField(textFieldValue);
    if(GUILayout.Button("クリア"))
    {
        textFieldValue = "";
    }
}

Editor에서 초점 제어가 초점에서 벗어나지 않으면 업데이트되지 않기 때문입니다.이에 따라 선택 후 색이 파랗게 변하는 셀렉터블 레이블 등도 같은 현상이 발생할 수 있다.

처리 방법


다른 컨트롤에 초점을 맞추면 초점이 바뀝니다.이번에는 TextArea에서 Buton으로 포커스를 변경합니다.
string textFieldValue ="";

void OnGUI()
{
    textFieldValue = EditorGUILayout.TextField(textFieldValue);
    //次のコントロールに名前をつける
    GUI.SetNextControlName("ClearButton");
    if(GUILayout.Button("クリア"))
    {
        textFieldValue = "";
        //名前をつけたコントロールにフォーカスを当てる
        GUI.FocusControl("ClearButton");
    }
}

GUI.SetNext Controlle Name에서 제어의 이름, GUI를 입력합니다.포커스에서 포커스를 이동합니다.
하지만 만약 그렇다면 버튼은 반전 상태가 되고 궁금하면 다른 컨트롤을 만들어 거기에 초점을 맞추세요.
이상은!

좋은 웹페이지 즐겨찾기