有些童鞋在开发中会感觉系统输入法的键盘太丑,或者是由于项目需求要是用自己制作的键盘来完成一些输入。这是本人在开发中遇到的问题,本人百度了好久都没有找到方法,这还要多谢一位大佬的帮忙才得以解决。接下来我就要说下我的解决办法:首先新建一个脚本HideVirtualKeyboard,继承于InputFeild,重写Start方法,在Start方法里修改keyboardType类型为-1,即不调用任何类型键盘
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class HideVirtualKeyboard : InputField {
// Use this for initialization
protected override void Start()
{
keyboardType = (TouchScreenKeyboardType)(-1);
base.Start();
}
// Update is called once per frame
void Update () {
}
}
然后将InputFeild上原有的InputFeild组件删除,将新写的HideVirtualKeyboard脚本挂到InputFeild上面,如下图所示

然后将InputFeild子节点的Text和Placeholder分别拖入对应的栏中,可以看到之前的KeyboardType默认选择的是Default,挂有自己写的代码的KeyboardType默认选择的是空,即什么类型都不选择


好了,就这么简单,打包测试没有显示系统键盘。
希望对童鞋们有所帮助,当然有不合适的地方还望大佬们多多指教,同时还要感谢给我提供思路的大佬。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class HideVirtualKeyboard : InputField {
// Use this for initialization
protected override void Start()
{
keyboardType = (TouchScreenKeyboardType)(-1);
base.Start();
}
// Update is called once per frame
void Update () {
}
}
然后将InputFeild上原有的InputFeild组件删除,将新写的HideVirtualKeyboard脚本挂到InputFeild上面,如下图所示


然后将InputFeild子节点的Text和Placeholder分别拖入对应的栏中,可以看到之前的KeyboardType默认选择的是Default,挂有自己写的代码的KeyboardType默认选择的是空,即什么类型都不选择


好了,就这么简单,打包测试没有显示系统键盘。
希望对童鞋们有所帮助,当然有不合适的地方还望大佬们多多指教,同时还要感谢给我提供思路的大佬。