UG4L9-4——输入文本

本章代码关键字

1
2
3
4
5
6
7
8
9
10
11
12
13
GTextInput                            //输入文本控件类
gObject.asTextInput //将元件类对象as成输入文本控件类对象的属性
gTextInput.maxLength //输入的最大长度
gTextInput.displayAsPassword //密码开关
gTextInput.restrict //输入限制(正则表达式)
gTextInput.keyboardType //输入的键盘类型
gTextInput.promptText //提示内容
gTextInput.RequestFocus() //主动获取焦点
gTextInput.SetSelection() //设置当前输入框选中的字符串范围
gTextInput.onChanged.Add() //添加输入文本控件的文本改变事件的监听方法
gTextInput.onFocusIn.Add() //添加焦点进入输入文本控件的监听方法
gTextInput.onFocusOut.Add() //添加焦点离开输入文本控件的监听方法
gTextInput.onSubmit.Add() //添加输入完成事件的监听方法

输入文本控件

顾名思义,输入文本控件主要用于接收用户输入的文字

创建输入文本控件

image

输入文本控件属性相关

其属性与文本控件几乎一致,唯一的区别是多了输入设置相关的内容

image

  • 输入详细设置,点击齿轮打开

    • 输入限制:Unity使用正则表达式进行限制

      关于正则表达式详细的内容

    • 键盘类型:在手机上输入时,弹出的手机键盘类型

    • 提示文字:文本内容为空时显示的内容,一般用于提示用户应该输入什么 支持UBB设置颜色,不需要勾选文本UBB

在Unity中的使用

  • 获取输入文本控件

    1
    GTextInput gTextInput = view.GetChild("inputTxt").asTextInput;
  • 最大长度

    1
    gTextInput.maxLength = 20;
  • 密码开关

    1
    gTextInput.displayAsPassword = false;
  • 输入限制(正则表达式限制)

    1
    gTextInput.restrict = "[0-9]";
  • 输入键盘类型

    1
    gTextInput.keyboardType = (int)TouchScreenKeyboardType.Default;
  • 提示内容

    1
    gTextInput.promptText = "请输入密码";
  • 主动获取焦点

    1
    gTextInput.RequestFocus();
  • 设置当前输入框选中的字符串范围

    参数一:起始字符,参数二:选中字符串长度

    1
    gTextInput.SetSelection(0, 4);

    效果如下:

    image

  • 事件相关

    • 文本内容改变事件监听

      1
      2
      3
      4
      gTextInput.onChanged.Add(() =>
      {
      print(gTextInput.text);
      });
    • 焦点进入事件监听

      1
      2
      3
      4
      gTextInput.onFocusIn.Add(() =>
      {
      print("焦点进入");
      });
    • 焦点离开事件监听

      1
      2
      3
      4
      gTextInput.onFocusOut.Add(() =>
      {
      print("焦点离开");
      });
    • 输入完成事件监听(设置为单行时PC上有用)

      1
      2
      3
      4
      gTextInput.onSubmit.Add(() =>
      {
      print("输入完成");
      });