我需要将阿拉伯文本粘贴到输入字段中,我可以在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中粘贴了某些内容,是否有任何事件或识别该粘贴的键。
答案 0 :(得分:0)
您可以将当前输入的文本长度保留在私有变量中。然后,一旦在InputField
中更改了值(请参阅docs),则获得新的长度,将其与旧的长度进行比较,如果长度差大于或等于2,则玩家已粘贴了一些东西。单键输入两个字符是不可能的。
答案 1 :(得分:0)
https://docs.unity3d.com/Manual/script-InputField.html
每当用户更改文本时,我都会使用“值更改”在InputField上调用您的格式化方法(即使用户只是键入而不是复制粘贴)。
就像TomasŠvedas一样,不检查长度。