代码之家  ›  专栏  ›  技术社区  ›  Neph

InputField(Unity)的提示/错误消息

  •  0
  • Neph  · 技术社区  · 6 年前

    在Android/Java中,您可以使用这样的东西

    myEditText.setError("This field cannot be blank");
    

    显示输入文本的错误消息/提示 EditText :

    enter image description here

    InputField 在C#中,还是必须自己制作(例如,文本在5秒后自动消失)?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Edvin Forsum    6 年前

    不,但是你可以自己做!

    添加新的将游戏对象作为子对象添加到您的输入字段所附加到的游戏对象。

    现在用你的InputField向游戏对象添加一个脚本,并向其中添加如下内容:

    public void OnStoppedEditing(string text) {
      if (text == "") { 
        errorWindow.SetActive(true); 
        errorText.text = "This field cannot be blank"; 
    
      }
    
    }
    public void Start() {
       //adds a listener that runs OnStoppedEditing when you stop editing myField
       myField.onEndEdit.AddListener(delegate {OnStoppedEditing(myField); }); 
    
       myField = gameObject.getComponent<InputField>();
       errorText = errorWindow.getComponent<Text>();
    }
    public GameObject errorWindow;
    Text errorText; 
    InputField myField;
    

    确保添加“using UnityEngine.UI;”到脚本的顶端

    请注意,我没有测试这段代码(我现在没有使用unity访问pc),所以如果它有任何错误,请询问:)