Files
XRLib/Assets/Scripts/UVC/Extention/TMP_InputFieldEx.cs
2025-08-11 14:58:18 +09:00

27 lines
1.1 KiB
C#

using Cysharp.Threading.Tasks;
using TMPro;
namespace UVC.Extention
{
public static class TMP_InputFieldEx
{
/// <summary>
/// inputField를 포커싱하고 캐럿(커서)을 텍스트의 끝으로 이동시킵니다.
/// </summary>
/// <param name="inputField"></param>
/// <returns></returns>
public static async UniTaskVoid SetCaretToEndAsync(this TMP_InputField inputField)
{
if (inputField == null) return;
inputField.ActivateInputField();
// UI가 업데이트될 때까지 프레임의 끝에서 대기합니다.
await UniTask.WaitForEndOfFrame();
// 캐럿(커서) 위치를 텍스트의 끝으로 이동시킵니다.
inputField.caretPosition = inputField.text.Length;
// 텍스트가 선택되지 않도록 선택 시작점과 끝점을 동일하게 설정합니다.
inputField.selectionAnchorPosition = inputField.text.Length;
inputField.selectionFocusPosition = inputField.text.Length;
}
}
}