1、打开Unity,新建一个空工程,具体如下图
2、在场景中添加一个 InputField 和 一个 Toggle,一个用来输入内容,一个用来控制内容显示形式,具体如下图
3、在工程中添加一个脚本,双击或者右键打开脚本,进行编辑,具体如下图
4、脚本的设置两个变量,用来添加 InputField 和 Toggle ,然后添加 Toggle 监听事件,用来控制 InputField 的内容显示形式,具体如下图
5、脚本编译正确后,回到Unity,把脚本挂载到 Canvas 上,并且对应把 InputField 和 Toggle 赋值上去,具体如下图
6、运行场景,在输入框中输入内容,然后点击取消显示密码,但是输入框中,没有立即更新,而是再次选中的时候才更新,具体如下图
7、在回到脚本中,在Toggle监听事件中,添加toggle.select(),具体如下图
8、脚本具体内容如下:using UnityEngine;using UnityEngine.UI;public class InputFiel颊俄岿髭dAndToggle : 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的时候,立即更新输入框中的输入内容显示形式,具体如下图