我有两个统一的TMP_InputField。我试图自动聚焦并激活另一个,一旦第一个有输入。我尝试了以下方法,但由于某些原因,它对我不起作用。
using UnityEngine;
using UnityEngine.UI;
using TMPro;
using UnityEngine.EventSystems;
public class FocusBox : MonoBehaviour
{
public TMP_InputField b1;
public TMP_InputField b2;
// Update is called once per frame
private void Update()
{
if (b1.isFocused)
{
if (b1.text.Length > 0)
{
b2.Select();
b1.DeactivateInputField();
}
}
Debug.Log("is b1 focused after : " + b1.isFocused);
}
}
1条答案
按热度按时间13z8s7eq1#
不是特别确定你说的“有输入”到底是什么意思。
然而,我认为你可以在你的
TMP_InputField
上使用OnValueChanged
事件。要么通过检查器分配一个回调,要么通过编程覆盖它。每次你的输入改变,你的回调都会被触发。