1. 화면 터치
UIViewController의 터치 관련 메소드 중에 touchesBegan 메소드가 있다.
ViewController에 아래 코드를 추가하면 화면 터치 시 키보드가 내려간다.
class ViewController: UIViewController {
...
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
self.view.endEditing(true)
}
}
2. Return 키
화면 터치 외에도 TextField에서 입력을 완료한 후 Return 키를 눌렀을 경우 키보드가 내려가는 상황을 가장 많이 경험할 수 있다. TextField에서 키보드의 return 키를 누르면 resignFirstResponder()을 통해 포커스를 제거하고 키보드를 내려준다.
extension ViewController: UITextFieldDelegate {
...
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
self.view.endEditing(true)
}
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
textField.resignFirstResponder() // TextField 비활성화
return true
}
}
위 방법을 사용하려면 TextField의 Delegate를 self 로 지정해야 한다.
override func viewDidLoad() {
super.viewDidLoad()
textField.delegate = self
}
'iOS > iOS' 카테고리의 다른 글
[iOS] leading, trailing과 left, right (0) | 2022.09.30 |
---|---|
[iOS] Lottie Animation Color 수정(ColorValueProvider) (0) | 2021.11.30 |
[iOS] UISheetPresentationController로 Bottom Sheet 띄우기 (0) | 2021.11.15 |
[iOS] Custom font 적용 안 될 때 해결 방법 (0) | 2021.11.15 |
[iOS] TextField 첫 영문자를 소문자로 시작하기 (0) | 2021.11.15 |
댓글