Как удалить / отключить On-Keyboard Textbox при использовании UIInput NGUI?
Я использую класс UIInput NGUI для приема ввода текста от пользователя. когда я начинаю печатать в текстовом поле на мобильных устройствах. Появляется клавиатура, внутри которой находится еще одно текстовое поле с кнопкой "ОК"/"Готово" (как в случае с аксессуаром клавиатуры, если мы говорим об iPhone).
Могу ли я отключить это текстовое поле на клавиатуре? Или это даже не возможно, и я стреляю просто заготовками?
Из того, что я мог бы найти путем поиска некоторое время, является то, что внешний вид клавиатуры обрабатывается классом Unity "TouchScreenKeyboard". но согласно справочнику Unity Scripting нет ничего, что могло бы скрыть текстовое поле внутри клавиатуры.
Справочник по сценариям Unity: TouchInputKeyboard
PS: - Я все еще должен быть в состоянии поместить ввод в текстовое поле, непосредственно печатая в них, я просто хочу удалить дополнительное текстовое поле внутри клавиатуры.
Чтобы быть более ясным, я приложил изображения, объясняющие это
Это экран.
Когда я начну печатать в одном из текстовых полей. клавиатура выглядит следующим образом. как вы видите текстовое поле чуть выше клавиатуры не оригинальное.
3 ответа
Чувак.... ты шутишь?
Вы пробовали установить флажок "Скрыть ввод" в представлении "Инспектор" этого текстового поля UIInput?
Я не знаю, почему это так, но у меня тоже была эта проблема, и флажок "скрыть ввод" по какой-то причине, похоже, не делает ничего другого, кроме изменения текстового поля клавиатуры с одной строки на многострочную.
Я немного покопался и наткнулся на быстрое руководство, которое включит этот флажок скрытия ввода.
Это исправление Update() в UIInput.cs около 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