如何使ios键盘的回车键统一提交input?

我有一个Unity UI的input字段和一个文本框。 当我使用Input.GetKeyDownKeyCode.Return )时,它只适用于OS X和PC版本,不适用于iOS版本。 iOS键盘的Return键什么都不做。 我也尝试过这些事件,但即使这样也行不通。

有人请告诉我解决这个问题,如果有的话?

虽然我无法想象在iOS上直接使用返回键的方法,但使用Unity中的TouchScreenKeyboard类的“提交”键可以实现这一点

具体来说,它有一个可变的TouchScreenKeyboard.done来指示用户是否按下任何移动设备上的“提交”(或同等)button(iOS,Android WP)

您也可以检查wasCanceledvariables以查看用户是否取消了input。

 public class TouchKeyboardExample : Monobehaviour { private TouchScreenKeyboard touchScreenKeyboard; private string inputText = string.Empty; void Start () { touchScreenKeyboard = TouchScreenKeyboard.Open(inputText, TouchScreenKeyboardType.Default); } void Update () { if(touchScreenKeyboard == null) return; inputText = touchScreenKeyboard.text; if(touchScreenKeyboard.done) Debug.Log("User typed in "+inputText); if(touchScreenKeyboard.wasCanceled) Debug.Log("User canceled input"); } } 

我从来没有尝试过这个IOS,所以我只是猜测在这里。

您是否正在使用Unity4.6 / Unity5中引入的新的Unity UI? 如果是这样的话,你可能想使用UI EventSystem ,你可能已经在场景中的某个地方了(当你添加新的Canvas对象时,它自动被添加)。 如果你没有在场景中,通过菜单GameObject->UI->Event System添加它。

EventSystem游戏对象中,有一个名为Standalone Input Module ,您可以在其中定义Submit Button属性 – 将其映射到Unity的inputpipe理器( Edit->Project Settings->Input )。

在单独的UI元素(即你的情况下的InputField ),你现在可以添加EventTrigger组件,它可以监听Submit事件并调用一个自定义方法,甚至可以传递一些数据(例如它本身作为方法的InputField参数)。

您还可以通过这种方式听更多的事件(select,hover,拖动等)。