本文主要是介绍【Unity3D】UGUI之InputField,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1 InputField 属性面板
在 Hierarchy 窗口右键,选择 UI 列表里的 InputField(输入框)控件,即可创建 InputField 控件,选中创建的 InputField 控件,按键盘【T】键,可以调整 InputField 控件的大小和位置。
创建 InputField 控件时,系统会自动为其创建 2 个 Text 子控件,如下:
- Placeholder:Text 控件,当用户未输入时,提示用户输入的文本
- Text:Text 控件,用户显示的文本
InputField 控件的属性面板如下:
- 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
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” 键结束输入,打印日志如下:
这篇关于【Unity3D】UGUI之InputField的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!