- 라이브러리로 부터 viewController 위로 텍스트필드를 올려둔다. (addSubView 처리)
- 제약조건을 세팅한다.
- 델리게이트 링크시키기
- Did End On Exit 링크시키기 : 텍스트필드에서 엔터를 누르면 실행되는 곳
- textFieldShouldReturn 메서드와 동일한 동작
- 프로토콜 채택
extension ViewController: UITextFieldDelegate { }
- delegate 선언
textfield.delegate = self
- delegate 함수 구현 아래는 return입력시 비활성화처리 코드
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
textField.resignFirstResponder() // TextField 비활성화
return true
}
(TextField 또는 UISearchBar).becomeFirstResponder()
(TextField 또는 UISearchBar).resignFirstResponder()
extension ViewController: UITextFieldDelegate {
textfield.delegate = self
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
textField.resignFirstResponder() // TextField 비활성화
return true
}
}
viewController 내부에 아래 코드를 입력한다.
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
self.view.endEditing(true)
}
let imageView = UIImageView()
let magnifyingGlassImage = UIImage(systemName: "magnifyingglass", withConfiguration: UIImage.SymbolConfiguration(weight: .regular))?.withTintColor(.darkGray, renderingMode: .alwaysOriginal)
imageView.image = magnifyingGlassImage
imageView.frame = CGRect(x: 0, y: 5, width: 45, height: 20)
imageView.contentMode = .scaleAspectFit
textField.leftViewMode = .always
textField.leftView = imageView
구버전 위치
- iOS Simulator -> Hardware -> Keyboard 신버전 위치
- I/O -> Keyboard