在Unity3d中获取键盘演示事件

时间:2015-06-02 07:11:43

标签: ios unity3d

我正在为Unity3d制作一款适用于iPad的游戏。

在一个屏幕中,我需要从用户那里获取文本输入,为此我使用Input Field.

当用户通过录制输入字段打开键盘时,我需要进行一些UI更改。为此,我需要键盘打开(显示)事件。输入字段只给我两个事件1.文本更改2.丢失焦点。但我需要得到福克斯事件。

我阅读了官方文件,但无法找到任何相关事件。我在互联网上搜索活动,我得到击键事件,但在用户开始输入之前我需要键盘打开事件。

在原生iOS应用中,我们使用UITextFieldDelegate方法- (void)textFieldDidBeginEditing:(UITextField *)textFieldUIKeyboardDidShowNotification。在Unity3d中是否有任何方法可以获得这种行为。

2 个答案:

答案 0 :(得分:0)

我无法找到任何可以让您知道已选择InputField的内容,但解决方法可能是将Interactable属性设置为false并且具有“编辑”功能。在该字段附近的按钮。当编辑'按下按钮,您可以更改UI元素并设置InputField.interactable = true。

答案 1 :(得分:0)

对于具有新UI的输入字段,存在isFocused变量。

http://docs.unity3d.com/ScriptReference/UI.InputField.html

http://docs.unity3d.com/ScriptReference/UI.InputField-isFocused.html

#pragma strict
// Required when Using UI elements.
public class Example {
    public var mainInputField;
    function Update() {
        //If the input field is focused, change its color to green.
        if (mainInputField.GetComponent.<InputField>().isFocused == true) {
            mainInputField.GetComponent.<Image>().color = Color.green;
        }
    }
}

因此,如果您的字段得到集中并返回true,则可以执行一些代码。也就是说,如果我理解正确的话。