키보드 내리기
보통 사용자가 텍스트필드 등에 무엇을 입력하다가 키보드를 화면에서 사라지게 하고 싶을때, Return 키를 누르거나 화면을 터치하게 됩니다. 이 부분을 구현하도록 합니다.
기본적으로 UITextFieldDelegate 프로토콜의 메서드인 touchesBegan이랑textFieldShouldReturn를 사용합니다. touchesBegan은 사용자가 화면 아무 곳이나 누르면 키보드가 사라지도록 하게 하는 것이고, textFieldShouldReturn은 키보드의 엔터키를 누르면 키보드가 사라지게 하도록 하는 것입니다. 이들을 적용하려면 먼저 Controller Class가 UITextFieldDelegate 프로토콜을 따른다고 선언해야 합니다. 그런 다음 textField의 delegate도 self로 지정해야합니다.
import UIKit
class ViewController: UIViewController, UITextFieldDelegate {
@IBOutlet weak var textField: UITextField! { didSet { textField.delegate = self } }
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
view.endEditing(true)
}
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
textField.resignFirstResponder()
return true
}
}