【问题标题】:How to remove/disable On-Keyboard Textbox when Using UIInput NGUI?使用 UIInput NGUI 时如何删除/禁用键盘上的文本框?
【发布时间】:2014-10-13 05:04:17
【问题描述】:

我正在使用 NGUI 的 UIInput 类来接受来自用户的文本输入。当我开始在移动设备的文本框中输入内容时。出现一个键盘,其中有另一个文本框,带有“确定”/“完成”按钮(如果我们谈论的是 iPhone,就像键盘附件视图一样)。

我可以禁用出现在键盘中的那个文本框吗?或者它甚至不可能,我只是拍摄空白?

从我通过搜索收集到的信息是,键盘的外观是通过购买 Unity 的“TouchScreenKeyboard”类来处理的。但根据 Unity Scripting 参考,没有什么可以隐藏键盘内的文本字段。

Unity Scripting reference: TouchInputKeyboard

PS:- 我应该仍然可以通过直接输入将输入输入到文本框中,我只是希望删除键盘中的额外文本框。

为了更清楚,我附上了解释这一点的图片

这是屏幕。

当我开始输入其中一个文本框时。键盘如下所示。 如您所见,键盘上方的文本框不是原始文本框。

【问题讨论】:

    标签: unity3d ngui


    【解决方案1】:

    您是否尝试在该 UIInput 文本框的 Inspector 视图中选中“隐藏输入复选框”?

    【讨论】:

    【解决方案2】:
    private void OnGUI()
                         {
    TouchScreenKeyboard.hideInput=true;
    }
    

    【讨论】:

      【解决方案3】:

      我不知道为什么会这样,但是我也遇到过这个问题,并且“隐藏输入”复选框由于某种原因似乎没有做任何其他事情,然后将键盘文本框从一行更改为多行线。

      我进行了一些挖掘,发现了一个可以启用隐藏输入复选框的快速线索。

      这个修复是 UIInput.cs 中的 Update() 大约 650

      else if (inputType == InputType.Password)
      {
      	TouchScreenKeyboard.hideInput = true;
      	kt = TouchScreenKeyboardType.Default;
      	val = mValue;
      	mSelectionStart = mSelectionEnd;
      	}
      	else
      	{
      	     if(hideInput)
      	     {
      		     TouchScreenKeyboard.hideInput = true;								
      	     }
      	     else
      	     {
      		     TouchScreenKeyboard.hideInput = false;
      	     }
      							
      	kt = (TouchScreenKeyboardType)((int)keyboardType);							
      	val = mValue;
      	mSelectionStart = mSelectionEnd;
      }

      我在 else 语句中添加了检查

      【讨论】:

        猜你喜欢
        • 2013-09-12
        • 1970-01-01
        • 2015-09-03
        • 2013-09-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多