[Swift] TextField 키보드를 닫는 3가지 방법

9930 단어 XcodeSwiftiOS
TextField 키보드를 닫는 방법을 요약했습니다.

1. "return" 키를 누릅니다.


코드 라이브러리


resignFirstResponder () 메서드를 사용합니다.
ViewController.swift
import UIKit

class ViewController: UIViewController, UITextFieldDelegate{

    @IBOutlet weak var inputText: UITextField!
    @IBOutlet weak var outputText: UILabel!

    override func viewDidLoad() {
        super.viewDidLoad()
        inputText.delegate = self
    }
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }

    func textFieldShouldReturn(_ textField: UITextField) -> Bool {
        // キーボードを閉じる
        textField.resignFirstResponder()
        outputText.text = textField.text
        return true
    }
}

storyboard base


Xcode 이벤트 작업을 사용합니다.

① TextField를 마우스 오른쪽 버튼으로 클릭(두 손가락으로 클릭)
② "Sent Events"의 "Did End On Exit"키를 누르고 드래그
③ Name을 Connect로 추가

코드가 추가되었는지 확인할 수 있습니다.
ViewController.swift
import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var outputText: UILabel!

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }

    @IBAction func inputText(_ sender: UITextField) {
        outputText.text = sender.text
    }
}
또 다른 다양한 사건 동작이 있기 때문에 기억하면 간단하게 실행할 수 있다.
참고 기사:버튼 이벤트 처리 – swift iOS 응용 프로그램 개발

2. 버튼 누르기


endEditing () 메서드를 사용합니다.
(resignFirstResponder () 메서드도 가능합니다.)
import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var inputText: UITextField!
    @IBOutlet weak var outputText: UILabel!

    override func viewDidLoad() {
        super.viewDidLoad()
    }
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }

    @IBAction func button(_ sender: Any) {
        outputText.text = inputText.text
        // キーボードを閉じる
        inputText.endEditing(true)
    }
}

3. TextField 이외의 부분을 터치


TouchesBegan 덮어쓰기 방법.
import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var outputText: UILabel!

    @IBOutlet weak var inputText: UITextField!

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }

    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
        outputText.text = inputText.text
        self.view.endEditing(true)
    }
}
그 이상을 잘 조합하면 사용자에게 스트레스를 주지 않는 설치가 될 수 있다.

참고문


UITextField를 입력한 후 입력용 키보드를 닫는 방법

좋은 웹페이지 즐겨찾기