翻译【Unity3D】UGUI之InputField

覃君阅读量 12

1 InputField 属性面板

​ 在 Hierarchy 窗口右键,选择 UI 列表里的 InputField(输入框)控件,即可创建 InputField 控件,选中创建的 InputField 控件,按键盘【T】键,可以调整 InputField 控件的大小和位置。

![img](https://img-blog.csdnimg.cn/e6ec6ea7525b4979bb4c55c716d5def6.png)

​ 创建 InputField 控件时,系统会自动为其创建 2 个 Text 子控件,如下:

![img](https://img-blog.csdnimg.cn/ba722783f47a40869496660e61d65565.png)

  • Placeholder:Text 控件,当用户未输入时,提示用户输入的文本
  • Text:Text 控件,用户显示的文本

​ InputField 控件的属性面板如下:

![img](https://img-blog.csdnimg.cn/d8fd916b03c24dd4bb5fba316bc24f65.png)

  • Character Limit:文本长度限长,0 表示不受限;
  • Content Type:文本类型,主要有:Standard(标准)、Integer Number(整数)、Decimal Number(浮点数)、Name(姓名格式,每个单词手写字母大写,其后字母小写)、Email Address(邮件格式)、Password(密码)、Pin(Pin 码)

2 InputField 注册事件

​ InputField 可以监听 OnValueChanged 和 OnEndEdit 事件,可以给 InputField 注册多个事件。当输入的字符串有变化时,会触发 OnValueChanged 事件;当输入 Enter 时,会触发 OnEndEdit 事件,

​ 给 InputField 添加 InputFieldController 脚本组件,如下:

​ InputFieldController.cs

cs 复制代码
using UnityEngine;
using UnityEngine.UI;

public class InputFieldController : MonoBehaviour {

	void Start () {
		InputField inputField = GetComponent<InputField>();
		inputField.onValueChanged.AddListener(OnValueChanged);
		inputField.onEndEdit.AddListener(OnEndEdit);
	}

	public void OnValueChanged(string text) {
		Debug.Log("OnValueChanged, text=" + text);
	}

	public void OnEndEdit(string text) {
		Debug.Log("OnEndEdit, text=" + text);
	}
}

​ 注意:AddListener 方法里只能添加入参为 string 类型的方法,可以添加多个方法。

​ 在输入框中输入 "123",并按 "Enter" 键结束输入,打印日志如下:

![img](https://img-blog.csdnimg.cn/65d1dee3450a4d66b51cb12a0ebb7183.png)

​ 声明:本文转自[【Unity3D】UGUI之InputField](https://zhyan8.blog.csdn.net/article/details/125826590)

复制代码
    ===========================
    【来源: 博客园】
    【作者: little_fat_sheep】
    【原文链接】 https://www.cnblogs.com/zhyan8/p/17234912.html
    声明:转载此文是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢。
0/300
全部评论0
0/300