Unity UGUI Inputfield 回车submit 按下Enter回车完成

也可以直接看这个网站(可能需要爬梯子)
inputfield这种东西回车提交是非常合理也非常普遍的功能
但inputfield本身在你按下回车后会跳出输入空间 仅此而已
总之
为了实现这个功能 需要自己写一个

这种方式是同样适用于小键盘Enter的
如果需要回车后回到输入位置
加一句inputField.Select();就好
同时 如果用update 而不是 fixedupdate 又可能会需要按两下Enter才行
甚至有可能会call checkAnswer()很多次之类的奇怪现象
总之自己调试 看自己需求

bool allowEnter;
    void FixedUpdate() {
    
    
        if (allowEnter && (Input.GetKey (KeyCode.Return) || Input.GetKey(KeyCode.KeypadEnter))) {
    
    
                checkAnswer();
                allowEnter = false;
            } 
        else{
    
    
            allowEnter = inputField.isFocused;
        }
        
    }

为了防止点击回车键导致连续call checkAnswer()
我们可以在checkAnswer里面加上Invoke(“activeIt”,0.5f)来制造一个延迟

public void activeIt(){
    
    
        inputField.ActivateInputField();
    }

猜你喜欢

转载自blog.csdn.net/weixin_42767868/article/details/123426082