检测输入字段中的复制和粘贴

时间:2018-07-23 07:42:13

标签: c# android ios unity3d

我需要将阿拉伯文本粘贴到输入字段中,我可以在mac上对其进行处理

if (((Input.GetKey(KeyCode.RightCommand) || Input.GetKey(KeyCode.LeftCommand))
&& Input.GetKeyDown(KeyCode.V)) || Input.GetMouseButtonUp(1))
{
    inputField.text = ArabicHelper.faConvert(ClipboardHelper.Clipboard);
}

我将此代码放在了update方法中,复制的文本位于ClipboardHelper. Clipboard中,但是如何识别用户在iOS或Android中粘贴了某些内容,是否有任何事件或识别该粘贴的键。

2 个答案:

答案 0 :(得分:0)

您可以将当前输入的文本长度保留在私有变量中。然后,一旦在InputField中更改了值(请参阅docs),则获得新的长度,将其与旧的长度进行比较,如果长度差大于或等于2,则玩家已粘贴了一些东西。单键输入两个字符是不可能的。

答案 1 :(得分:0)

https://docs.unity3d.com/Manual/script-InputField.html

每当用户更改文本时,我都会使用“值更改”在InputField上调用您的格式化方法(即使用户只是键入而不是复制粘贴)。

就像TomasŠvedas一样,不检查长度。