아미(아름다운미소)

[iOS Swift] Textfield 키보드 내리기 본문

랭귀지/SWIFT

[iOS Swift] Textfield 키보드 내리기

유키공 2018. 7. 6. 09:00
보통 사용자가 텍스트필드 등에 무엇을 입력하다가 키보드를 화면에서 사라지게 하고 싶을때, Return 키를 누르거나 화면을 터치하게 됩니다. 이럴 경우 기본적으로 UITextFieldDelegate 프로토콜의 메서드인 touchesBegan이랑 textFieldShouldReturn를 사용합니다. touchesBegan은 사용자가 화면 아무 곳이나 누르면 키보드가 사라지도록 하게 하는 것이고, textFieldShouldReturn은 키보드의 엔터키를 누르면 키보드가 사라지게 하도록 하는 것입니다. 이들을 적용하려면 먼저 Controller Class가 UITextFieldDelegate 프로토콜을 따른다고 선언한 다음 textField의 delegate도 self로 지정해야합니다.

import UIKit

class ViewController: UIViewController, UITextFieldDelegate {
    @IBOutlet weak var textTitle: UITextField! { didSet { textTitle.delegate = self } }

    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
        view.endEditing(true)
    }
    
    func textFieldShouldReturn(_ textField: UITextField) -> Bool {
        textTitle.resignFirstResponder()
        return true
    }
}


Comments