iOS/SwiftUI

[iOS] textField Delegate와 최초 커서 설정

유훈 | Yuhun 2022. 2. 12. 21:51
반응형

textField delegate

Apple 공식문서

블로그 textField 연관 글 - textField 이벤트 추가

 

 

textField의 @IBOulet에 delegate를 주어 여러 동작을 수행할 수 있습니다.

다음의 textField를 연결했다 가정하고 진행 하겠습니다.

@IBOutlet weak var exampleTextfield: UITextField!

viewDidLoad에 delegate로 위임해줍니다.

exampleTextField.delegate = self

이제 UITextFieldDelegate 프로토콜을 채택해 텍스트 필드의 여러 이벤트를 처리할 수 있습니다.

extention으로 추가해주고 두가지 이벤트를 예로 들면 다음과 같습니다.

extension "뷰 컨트롤러": UITextFieldDelegate {
    // 리턴 버튼이 눌렸을때
    func textFieldShouldReturn(_ textField: UITextField) -> Bool {
    	
        // 둘 중 하나로 키보드를 내릴 수 있다.
        self.view.endEditing(true)
        textField.resignFirstResponder() 
    	
        return false // 반환 버튼에 기본 동작 구현시 true 아니면 false 라고 공식 문서
    }
    
    // editing이 끝났을 때
    func textFieldDidEndEditing(_ textField: UITextField) {
        // 코드
    }
}

이외에도 여러 메서드들이 있었는데 textField의 각 상황별 이벤트를 처리할 수 있습니다.

 

 최초 커서 설정

textField @IBOulet이 exampleTextField라고 있다고 하면

// viewDidLoad() 에 추가
exampleTextField.becomeFirstResponder()

 

반응형

'iOS > SwiftUI' 카테고리의 다른 글

[iOS] TableViewCell 커스텀 사용법 (XIB 파일)  (0) 2022.02.15