2016-06-10 12 views
1

Ich möchte ein InputField in Unity löschen, aber ich kann es nicht zum Laufen bringen. Was ich jetzt mache ist:
public InputField inputfieldname; inputfieldname.text = "";C# Unity - Wie kann ich ein InputField löschen?

aber dann löscht es das Feld nicht, bis Sie es auswählen. Ist es möglich, das Feld vollständig nur durch Code zu löschen?

Vielen Dank im Voraus! Ablos

Antwort

1

Dieses Problem existiert nicht in der aktuellen Version von Unity, die ich ausführe. Mein Rat an Sie ist auf 5.4 zu aktualisieren. Wenn Sie nicht möchten, dann können Sie die InputField mit Code auswählen und dann löschen.

public InputField inputfieldname; 
inputfieldname.Select(); 
inputfieldname.text = ""; 

Sie können diese in eine Erweiterungsmethode machen.

public static class Extension 
{ 
    public static void clear(this InputField inputfield) 
    { 
     inputfield.Select(); 
     inputfield.text = ""; 
    } 
} 

Jetzt können Sie es wie unten verwenden:

public InputField inputfieldname; 
inputfieldname.clear(); 
+1

Nun, es ist seltsam, weil ich die neueste Version der Einheit verwenden. Ich denke, es ist wegen MaterialUI (Erweiterung für UI-Zeug). Aber es funktioniert! Ich danke dir sehr! – Ablos

+0

Sie müssen dies nur tun: 'inputfieldname.text =" ";' Kein 'Eingabefeldname.Select();' benötigt. – Ablos

+0

@Ablos Ich weiß, aber Sie haben 'inputfieldname.text =" ";' in Ihrer Frage, sagte aber, es hat nicht funktioniert. Sie sagten, Sie müssen es auswählen, damit es funktioniert, also habe ich die Auswahl durch Code ('inputfield.Select();') getroffen. Ich habe sogar in meiner Antwort erwähnt, dass ich dieses Problem nicht habe. – Programmer