Unity UGUI(十)InputField(输入域)

本文详细解析了Unity UI系统中的InputField组件,包括其各项属性和功能,如文本输入控制、光标设置、事件绑定等,以及如何通过代码获取和响应输入框的值。

InputField(Script)

  

Interactable可交互是否可点击
Transition过渡
  • None:无
  • Color Tint:颜色色彩
    • Target Graphic:目标图形
    • Normal Color:正常颜色
    • Highlighted Color:高亮颜色
    • Pressed Color:按下颜色
    • Selected Color:选择颜色
    • Disabled Color:已禁用颜色
    • Color Multiplier:色彩乘数
    • Fade Duration:淡化持续时间
  • Sprite Swap:精灵交换
    • Target Graphic:目标图形
    • Highlighted Sprite:高亮精灵
    • Pressed Sprite:按下精灵
    • Selected Sprite:选择精灵
    • Disabled Sprite:已禁用精灵
  • Animation:动画
    • Normal Trigger:正常触发
    • Highlighted Trigger:高亮触发
    • Pressed Trigger:按下触发
    • Selected Trigger:选择触发
    • Disabled Trigger:引禁用触发
    • Auto Generate Animation 自动生成动画
Navigation导航
  • None:无
  • Horizontal:水平
  • Vertical:垂直
  • Automatic:自动
  • Explicit:显式
    • Select On Up:向上选择
    • Select On Down:向下选择
    • Select On Left:向左选择
    • Select On Right:向右选择
  • Visualize:可视化,把按键能够导航到的路径可视化,高亮的黄色箭头为当前按钮可导航到的目标
Text Component文本组件用于接收显示用户输入内容的 Text 组件
Text文本在该区域输入的文本会直接显示在 Text 组件上
Character Limit角色限制/字符限制表示该输入框能输入的最大长度,0 表示不限制
Content Type内容类型

用于限制输入的数据类型

  • Standard:标准,允许输入任意字符
  • Autocorrected:自动更正,允许所有输入,并在支持它的平台上执行自动更正
  • Integer Number:整数,允许输入整数
  • Decimal Number:十进制数,允许输入整数和小数
  • Alphanumeric:字母数字,允许输入字母和数字
  • Name:名称,允许输入任意字符,如果首字母为字母,则自动大写
  • Email Address:电子邮件地址
  • Password:密码,允许输入任意字符,显示为*号
  • Pin:固定,允许输入整数,显示为*号
  • Custom:自定义,允许用户定义设置的自定义类型
    • Line Type:直线类型
      • Single Line:单线/单行模式,也是默认模式
      • Multi Line Submit:多行提交,超过边界则换行,不支持回车键换行
      • Multi Line Newline:多行新行,超过边界则新建换行,支持回车键换行
    • Input Type:输入类型
      • Standard:标准
      • Auto Correct:自动校正
      • Password:密码
    • Keyboard Type:键盘类型
      • Defaule:默认
      • ASCII Capable
      • Numbers And Punctuation
      • URL
      • Number Pad
      • Phone Pad
      • Name Phone Pad
      • Email Address:电子邮件地址
      • Nintendo Network Account
      • Social
      • Search:搜索
    • Character Validation:字符验证
      • None:无,没有验证。任何输入都是有效的
      • Integer:整数,允许整数(正数或负数)
      • Decimal:十进制数,允许十进制数(整数或小数,正数或负数)。
      • Alphanumeric:字母数字
      • Name:名称,只允许名称和强制大写
      • Email Address:电子邮件地址,允许电子邮件地址中允许的字符
Placeholder占位符位置标示,此输入域的输入位控制符
Caret Blink Rate光标闪烁频率标示输入光标的闪烁速度
Caret Width光标宽度标示输入的光标的宽度
Custom Caret Color自定义光标颜色

开启/关闭自定义光标颜色

  • Caret Color:自定义的光标颜色
Selection Color选择颜色文字显示的颜色
Hide Mobile Input隐藏移动输入 
Read Only只读只能读取,无法编辑
On Value Changed(String)值改变时(字符串)值改变时触发消息
On End Edit(String)结束编辑时(字符串)结束编辑时触发消息

自带InputField

 

InputField:图片,带InputField组件。

Placeholder:文本,占位符,提示文字。

Text:文本,输入位置。

代码获取值

在场景中创建一个输入框和一个按钮。 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class TestUI : MonoBehaviour
{
    InputField inputField;
    void Start()
    {
        inputField = GameObject.Find("Canvas/InputField").GetComponent<InputField>();
    }

    public void GetValue()
    {
        Debug.Log(inputField.text);
    }
}

为按钮绑定GetValue方法。 

输入内容并单击按钮。

获得文字并输出。

绑定事件

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class TestUI : MonoBehaviour
{
    InputField inputField;
    void Start()
    {
        inputField = GameObject.Find("Canvas/InputField").GetComponent<InputField>();
    }

    public void OnValueChange(string s)
    {
        Debug.Log("OnValueChange:"+s);
    }

    public void OnEndEdit(string s)
    {
        Debug.Log("OnEndEdit:" + s);
    }
}

OnEndEdit事件执行需要按回车。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值