我正在为Unity3d制作一款适用于iPad的游戏。
在一个屏幕中,我需要从用户那里获取文本输入,为此我使用Input Field.
当用户通过录制输入字段打开键盘时,我需要进行一些UI更改。为此,我需要键盘打开(显示)事件。输入字段只给我两个事件1.文本更改2.丢失焦点。但我需要得到福克斯事件。
我阅读了官方文件,但无法找到任何相关事件。我在互联网上搜索活动,我得到击键事件,但在用户开始输入之前我需要键盘打开事件。
在原生iOS应用中,我们使用UITextFieldDelegate
方法- (void)textFieldDidBeginEditing:(UITextField *)textField
或UIKeyboardDidShowNotification
。在Unity3d中是否有任何方法可以获得这种行为。
答案 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,则可以执行一些代码。也就是说,如果我理解正确的话。