관리 메뉴

사과하는 제라스

[Swift 기능] UITextFieldDelegate의 함수들을 알아보자 본문

제라스의 Swift 공부/Swift 기능

[Swift 기능] UITextFieldDelegate의 함수들을 알아보자

Xerath(제라스) 2023. 9. 17. 08:10

목차

    728x90
    반응형

    TextField를 구현하려고 하다보면 delegate 패턴을 많이 쓰게 된다.

    이때, UITextFieldDelegate 프로토콜을 채택해서 사용하게 되고, 이 프로토콜은 여러 함수들을 구현할 수 있게 되어 있다.

    이 여러 함수들의 기능을 살펴보자.

     

    //TextField의 편집을 시작할 수 있게 할지 말지 결정하는 함수
    func textFieldShouldBeginEditing(UITextField) -> Bool
    
    //TextField의 편집이 시작되고 나서 실행되는 함수(즉, 커서가 깜빡이는 순간 실행됨)
    func textFieldDidBeginEditing(UITextField)
    
    //TextField의 편집을 중지할 수 있게 할지 말지 결정하는 함수
    func textFieldShouldEndEditing(UITextField) -> Bool
    
    //TextField의 편집이 끝나는 순간 실행되는 함수(편집이 중지된 시점과 그 이유를 delegate에게 알림)
    func textFieldDidEndEditing(UITextField, reason: UITextField.DidEndEditingReason)
    
    //TextField의 편집이 끝나는 순간 실행되는 함수(delegate에게 알림)
    func textFieldDidEndEditing(UITextField)
    
    //TextField의 한글자씩 입력할 때마다 실행되는 함수로 변경여부도 결정하는 함수
    func textField(UITextField, shouldChangeCharactersIn: NSRange, replacementString: String) -> Bool
    
    //TextField의 현재 내용을 clear가 가능힌지 여부를 결정하는 함수
    func textFieldShouldClear(UITextField) -> Bool
    
    //TextField에 대한 return 버튼의 동작을 실행할지 말지 결정하는 함수
    func textFieldShouldReturn(UITextField) -> Bool
    
    //TextField의 값이 변경될 시 delegate에게 알리는 함수
    func textFieldDidChangeSelection(UITextField)
    
    //TextField에서 편집을 종료하는 이유를 나타내는 상수
    enum UITextField.DidEndEditingReason

    참고 출저: UITextFieldDelegate - 애플 공식문서

     

    UITextFieldDelegate | Apple Developer Documentation

    A set of optional methods to manage the editing and validation of text in a text field object.

    developer.apple.com

     

    728x90
    반응형