반응형
Unity InputField에서 입력 이벤트를 구현하는 이벤트 핸들링 메소드는 두 가지 종류가 있다.
onEndEdit / onSubmit
두 방법에는 아래와 같은 차이점이 있으니, 원하는 방식으로 이벤트 메소드를 구현하면된다.
1. onEndEdit
- 편집이 끝났을 때 호출되는 이벤트 메소드
2. onSubmit
- 편집을 끝내고 직접 입력 버튼(Keyboard Enter)을 눌렀을 때 호출되는 이벤트 메소드
onEndEdit을 사용할 경우, 모바일 환경에서 키패드 입력 창이 닫히면 호출이 되는 현상이 있으므로 증분검사를 하는 케이스가 아니면, onSubmit을 사용하는것이 바람직해보인다.
Sample Code
using UnityEngine;
using System.Collections;
using UnityEngine.UI; // Required when Using UI elements.
public class Example : MonoBehaviour
{
public InputField mainInputField;
// Checks if there is anything entered into the input field.
void LockInput(InputField input)
{
if (input.text.Length > 0)
{
Debug.Log("Text has been entered");
}
else if (input.text.Length == 0)
{
Debug.Log("Main Input Empty");
}
}
public void Start()
{
//Use onEndEdit
mainInputField.onEndEdit.AddListener(delegate{LockInput(mainInputField);});
//Use onSubmit
mainInputField.onSubmit.AddListener(delegate{LockInput(mainInputField);});
}
}
반응형
'개발 > Unity' 카테고리의 다른 글
C#, Unity 소수점 자리수 바꾸기(올림, 내림, 반올림) (0) | 2021.11.01 |
---|---|
Unity - 멀티 디스플레이 활성화 후 안보이게하고싶을 때 (0) | 2021.08.31 |
Unity - 스크립트로 Shader Rendering Mode 변경하기 (0) | 2021.08.05 |
Sprite Renderer Click Event 구현 (0) | 2021.08.03 |
SkinnedMeshRenderer Collider Update (0) | 2021.07.23 |