如何在 iOS 應用中隱藏螢幕鍵盤?
要隱藏螢幕上的鍵盤,我們需要使用 iOS SDK 中預定義的一些內部函式。當我們在文字欄位或文字檢視中輸入時,鍵盤會出現在螢幕上。我們需要根據文字欄位使用內部函式。
例如,如果當前文字欄位是 tfOne,我們可以使用以下程式碼隱藏文字欄位
tfOne.resignFirstResponder()
此程式碼將在每次呼叫時隱藏鍵盤,我們可以在按鈕的操作或手勢識別器上呼叫它。
此方法適用於有限的文字欄位,但如果我們想對多個文字欄位或文字檢視實現相同的功能,則需要改進它。
我們可以為此建立一個函式。
func hideKeyboardWhenTappedAround() { let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(UIViewController.dismissKeyboard)) tap.cancelsTouchesInView = false view.addGestureRecognizer(tap) } @objc func dismissKeyboard() { view.endEditing(true) }
我們可以在我們的類中使用此函式,並且只要我們在任何文字欄位或文字檢視之外點選螢幕,它就會隱藏鍵盤。
但是,正如您所看到的,它需要一個將新增手勢的檢視,因此我們需要將此函式嵌入到 UIViewExtension 中。
extension UIViewController { func hideKeyboardWhenTappedAround() { let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(UIViewController.dismissKeyboard)) tap.cancelsTouchesInView = false view.addGestureRecognizer(tap) } @objc func dismissKeyboard() { view.endEditing(true) } }
現在,我們可以在我們的 viewDidLoad() 中呼叫此函式,然後只要我們在檢視中的任何位置(除了文字檢視/欄位)點選,鍵盤就會隱藏。
廣告