Unity UI之输入框内容是否密码显示点击立即生效

2025-11-22 02:41:09

1、打开Unity,新建一个空工程,具体如下图

Unity UI之输入框内容是否密码显示点击立即生效

2、在场景中添加一个 InputField 和 一个 Toggle,一个用来输入内容,一个用来控制内容显示形式,具体如下图

Unity UI之输入框内容是否密码显示点击立即生效

3、在工程中添加一个脚本,双击或者右键打开脚本,进行编辑,具体如下图

Unity UI之输入框内容是否密码显示点击立即生效

4、脚本的设置两个变量,用来添加 InputField 和 Toggle ,然后添加 Toggle 监听事件,用来控制 InputField 的内容显示形式,具体如下图

Unity UI之输入框内容是否密码显示点击立即生效

5、脚本编译正确后,回到Unity,把脚本挂载到 Canvas 上,并且对应把 InputField 和 Toggle 赋值上去,具体如下图

Unity UI之输入框内容是否密码显示点击立即生效

6、运行场景,在输入框中输入内容,然后点击取消显示密码,但是输入框中,没有立即更新,而是再次选中的时候才更新,具体如下图

Unity UI之输入框内容是否密码显示点击立即生效

Unity UI之输入框内容是否密码显示点击立即生效

7、在回到脚本中,在Toggle监听事件中,添加toggle.select(),具体如下图

Unity UI之输入框内容是否密码显示点击立即生效

8、脚本具体内容如下:

using UnityEngine;

using UnityEngine.UI;

public class InputFieldAndToggle : MonoBehaviour {

    // 输入框 和 Toggle 的参数

    public InputField inputField;

    public Toggle toggle;

// Use this for initialization

void Start () {

        // 给 toggle 添加监听事件

        toggle.onValueChanged.AddListener(ToggleEvent);

    }

    /// <summary>

    /// 选中显示,未选中则密码形式显示显示输入内容

    /// </summary>

    /// <param name="isOn">toggle 的选中与否</param>

    private void ToggleEvent(bool isOn) {

        inputField.contentType = isOn ? InputField.ContentType.Standard : InputField.ContentType.Password;

        // 让输入框被选中

        inputField.Select();

    }

    

}

9、回到Unity,运行场景,即可在点击的Toggle的时候,立即更新输入框中的输入内容显示形式,具体如下图

Unity UI之输入框内容是否密码显示点击立即生效

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢