UITextFieldDelegate

Eden·2024년 12월 17일

iOS

목록 보기
11/18

UITextFieldDelegate 프로토콜 함수 정리

UITextFieldDelegate 프로토콜은 UITextField의 편집 동작에 대한 다양한 이벤트를 처리할 수 있게 도와준다.


1. 편집 시작 여부 결정

func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool
  • 설명: UITextField의 편집을 시작할지 여부를 결정하는 함수.
  • 리턴값: true면 편집을 시작하고, false면 시작하지 않는다.

2. 편집 시작 시점 실행

func textFieldDidBeginEditing(_ textField: UITextField)
  • 설명: UITextField의 편집이 시작된 후에 실행되는 함수. 커서가 나타는 시점에 호출된다.

3. 편집 종료 여부 결정

func textFieldShouldEndEditing(_ textField: UITextField) -> Bool
  • 설명: UITextField의 편집을 중지할 수 있을지 여부를 결정하는 함수.
  • 리턴값: true면 편집을 종료하고, false면 종료하지 않는다.

4. 편집 종료 시점 실행 (이유 포함)

func textFieldDidEndEditing(_ textField: UITextField, reason: UITextField.DidEndEditingReason)
  • 설명: 편집이 중지된 시점과 그 이유를 delegate에게 알리는 함수.
  • 파라미터:
    • reason: 편집이 끝난 이유를 나타내는 UITextField.DidEndEditingReason enum.

5. 편집 종료 시점 실행

func textFieldDidEndEditing(_ textField: UITextField)
  • 설명: UITextField의 편집이 끝난 후 호출되는 함수.

6. 문자 입력 처리 및 변경 여부 결정

func textField(_ textField: UITextField,
               shouldChangeCharactersIn range: NSRange,
               replacementString string: String) -> Bool
  • 설명: 한 글자씩 입력할 때마다 실행되며, 텍스트 변경 여부를 결정하는 함수.
  • 리턴값: true면 입력이 허용되고, false면 입력이 무시된다.

7. 내용 지우기 여부 결정

func textFieldShouldClear(_ textField: UITextField) -> Bool
  • 설명: UITextField의 내용을 Clear 버튼으로 지우는 가능한지 여부를 결정하는 함수.
  • 리턴값: true면 내용을 지우고, false면 지우지 않는다.

8. Return 버튼 동작 결정

func textFieldShouldReturn(_ textField: UITextField) -> Bool
  • 설명: Return 버튼이 눌렸을 때 어떤 동작을 실행할지 결정하는 함수.
  • 리턴값: true면 Return 버튼 동작을 실행하고, false면 실행하지 않는다.

9. 선택 영역 변경 시점 실행

func textFieldDidChangeSelection(_ textField: UITextField)
  • 설명: UITextField의 텍스트 선택 영역이 변경될 때마다 호출되는 함수.

10. 편집 종료 이유 (Enum)

enum UITextField.DidEndEditingReason
  • 설명: UITextField에서 편집이 종료된 이유를 나타내는 상수.
  • 주요 값:
    • committed: 사용자가 변경 사항을 확인한 경우.
    • cancelled: 편집이 취소된 경우.
profile
🌐 Frontend &&  iOS && 대학생

0개의 댓글