ui.inputfield 能否让文本框和输入显示的数据相互重叠?
can the ui.inputfield have the data from both text box and input displayed overlaying each other?
我有一个带有 ui.inputfield 的 Unity Droid 应用程序。我让用户能够输入数字或移动滑块。在任何一种情况下,我都需要让滑块数据出现在输入字段中,或者用输入字段中输入的数字更新滑块位置。我可以从输入字段或滑块获取数据,但我需要显示数据。我主要关心的是 我能否将来自两个输入的数据显示在与输入字段完全相同的位置,例如在顶部?
我找不到在输入字段顶部显示数据的任何示例。这是思考这个问题的正确方法吗?
提前谢谢你。
每当用户更改 UI.Slider
或完成在 UI.InputField
中输入值时都会有回调:
所以是的,你可以 link 他们像
public class Example : MonoBehaviour
{
public InputField inputField;
public Slider slider;
private void Awake()
{
inputField.onEndEdit.AddListener(OnInputFieldChanged);
slider.onValueChanged .AddListener( OnSliderChanged);
OnSliderChanged(slider.value);
}
private void OnInputFieldChanged(string newText)
{
if (float.TryParse(newText, out var value))
{
value = Mathf.Clamp(value, slider.minValue, slider.maxValue);
inputField.text = value.ToString("F");
slider.value = value;
}
else
{
Debug.LogWarning("Input Format Error!", this);
slider.value = Mathf.Clamp(0, slider.minValue, slider.maxValue);
inputField.text = slider.value.ToString("F");
}
}
private void OnSliderChanged(float newValue)
{
inputField.text = newValue.ToString("F");
}
}
我有一个带有 ui.inputfield 的 Unity Droid 应用程序。我让用户能够输入数字或移动滑块。在任何一种情况下,我都需要让滑块数据出现在输入字段中,或者用输入字段中输入的数字更新滑块位置。我可以从输入字段或滑块获取数据,但我需要显示数据。我主要关心的是 我能否将来自两个输入的数据显示在与输入字段完全相同的位置,例如在顶部? 我找不到在输入字段顶部显示数据的任何示例。这是思考这个问题的正确方法吗? 提前谢谢你。
每当用户更改 UI.Slider
或完成在 UI.InputField
中输入值时都会有回调:
所以是的,你可以 link 他们像
public class Example : MonoBehaviour
{
public InputField inputField;
public Slider slider;
private void Awake()
{
inputField.onEndEdit.AddListener(OnInputFieldChanged);
slider.onValueChanged .AddListener( OnSliderChanged);
OnSliderChanged(slider.value);
}
private void OnInputFieldChanged(string newText)
{
if (float.TryParse(newText, out var value))
{
value = Mathf.Clamp(value, slider.minValue, slider.maxValue);
inputField.text = value.ToString("F");
slider.value = value;
}
else
{
Debug.LogWarning("Input Format Error!", this);
slider.value = Mathf.Clamp(0, slider.minValue, slider.maxValue);
inputField.text = slider.value.ToString("F");
}
}
private void OnSliderChanged(float newValue)
{
inputField.text = newValue.ToString("F");
}
}