Unity使用InputField隐藏输入框的方法

在使用Unity早期版本(2018以前的版本)生成并发布的apk,使用InputField进行用户名和密码等输入的时候,会出现以下的状况,点击输入框,弹出的虚拟键盘上方带有另外一个输入框,输入的内容会显示在键盘上部的输入框之中:android

 

而开发者其实想要实现的是这样的效果:ios

 

在inputFiled的Inspector界面能够看到这样一个选项:git

可是选中了以后并无什么卵用,unity3d官方解释是这个选项只在ios上生效,android上出于安全等方面考虑,这个选项是不生效的。github

解决办法有两个,安全

1.并发

使用https://github.com/mopsicus/UnityMobileInput   ,但这个方案有一些问题,首先须要修改一处代码,才能正常使用,将MobileInputField.cs的函数InitialzieOnNextFrame ()之中下面三条语句注释掉:ide

            //_inputObject.placeholder.gameObject.SetActive (false);
            //_inputObject.enabled = false;
            //_inputObjectText.enabled = false;函数

 这样按照它demo之中的方法使用,就能够隐藏键盘上方的输入框了,但这个方法有不少问题,好比若是须要对InputField进行SetActive(false),而后再SetActive(true),会发现键盘上的输入框又出现了,而若是使用SetAsFirstSibling将其放置于全部层之下,手指点击inputfield的所在区域又会弹出虚拟键盘.....总之这是一个不完美的解决方案。3d

2.blog

把unity升级到2018以上的版本,此时会发现Inputfield的Inspector界面之中Hide Mobile Input这个选项在android上也能生效了,选中以后弹出的虚拟键盘上方就不会带有输入框了。

相关文章
相关标签/搜索