El último UI-VisualElement de Unity sobre cómo abrir una ventana para obtener el foco de entrada

Lo siguiente se basa en la interfaz de usuario (VisualElement) después de 2019

 

Para algunas "aplicaciones de escritorio" "avanzadas" (con mouse y teclado) desarrollo de interfaz

Puede ser necesario abrir la interfaz e ingresar o pegar

(Esto también puede considerarse como una técnica muy antigua)

Por ejemplo: queremos abrir la interfaz de la siguiente manera

Intenté este método al principio.

I tried:
textField.Focus();
textField.SelectAll();

OR

textField.Focus();
textField.SelectRange(...);

Ciertamente no

Finalmente, la respuesta encontrada en el foro oficial.

  var text = new TextField();
  //text.Focus();
  //text.ElementAt(0).Focus();

   //GUI.FocusControl("urlText");
   this.Add(text);
            
   this.schedule.Execute(() => {
       text.ElementAt(0).Focus();
       text.SelectAll();
    });

Además, Gui es el método de la versión inicial UI (IMGUI) de Unity,

Es inútil aquí, solo graba

text.name="urlText"
GUI.FocusControl("urlText");
//虽然textField也是能命名
//但.FocusControl()要生效
//貌似要配合
GUI.SetNextControlName("Text1");

Supongo que te gusta

Origin blog.csdn.net/avi9111/article/details/123436210
Recomendado
Clasificación