Pie*_*lle 2 c# android input selection unity-ui
我目前正在为 Android 开发 Highscore 系统。我有一个输入字段,玩家可以在其中输入他们的名字。
我想要它,这样玩家就不必点击这个输入字段来输入内容。 然而,到目前为止我所有的尝试都失败了。
我在HighScoreTemplate.cs脚本中创建了一个Select()函数,它将在输入字段上调用.Select() ,然后调用.ActivateInputField()。
public void Select()
{
    // Select it
    NameField.Select();
    NameField.ActivateInputField();
}
然而,这并没有自动选择 NameField 输入字段,因为我的 Android 设备上没有弹出键盘。
我已经通过调试验证了这个 Select() 函数正在被调用并运行。
我还验证了该输入字段是可交互的,当我选择它时,我可以在检查器中看到它选中的复选框。
然后我假设 Unity 可能有延迟,所以我尝试进行此测试以查看它是否有效:
int counter = 1;
while(counter <= 50 && !_newHighScoreTemplate.NameField.isFocused)
{
    _newHighScoreTemplate.Select();
    Debug.Log("Select Attempt #" + counter);
    counter++;
}
这个测试给了我同样的结果,Android 键盘没有弹出并允许我在输入字段中输入文本。
小智 5
您尝试过使用协程吗?
void OnEnable()
{        
    StartCoroutine(SelectInputField());
}
IEnumerator SelectInputField()
{
    yield return new WaitForEndOfFrame();
    NameField.ActivateInputField();
}
| 归档时间: | 
 | 
| 查看次数: | 3618 次 | 
| 最近记录: |