首页 > 解决方案 > 如何将 TouchScreenKeyboard active 设置为 false?

问题描述

我有一个统一的游戏,我在其中实例化了一个 TouchScreenKeyboard:

keyboard = TouchScreenKeyboard.Open(
    "", //text
    TouchScreenKeyboardType.Default, //type
    false, //autocorrect
    true //multiline
);

稍后,在 中Update(),我运行以下命令:

keyboard.active = false;
Debug.Log("Turned off keyboard. Now: " + keyboard.active.ToString());

但是,在我的调试器中(通过 xcode 在 iPhone 上运行),我只看到:

关闭键盘。现在:真

它变得非常奇怪的地方:应用程序确实在屏幕上关闭键盘的情况下正确启动,但如果我记录keyboard.active它说“真”。

当我开始游戏时,键盘会弹出。但是,它不会在游戏会话后消失(我keyboard.active = false;再次运行)。

但是,如果我此时取消应用程序的焦点,键盘就会消失,并且当我记录状态时Debug.Log(keyboard.active.ToString());它显示为 false。

是什么赋予了?这是一个奇怪的操作系统交互吗?我应该想出一种方法来欺骗应用程序的焦点,还是我缺少一个技巧来完成这项工作?在示例代码中,他们使用了这行代码:https ://docs.unity3d.com/ScriptReference/TouchScreenKeyboard-active.html

这是统一2020.2.0f1

标签: unity3d-2dtoolsunity3d-gui

解决方案


推荐阅读