第一種:通過鍵盤內的完成按鈕來實現關閉鍵盤
首先繼承 UITextFieldDelegate
以輸入框 textField舉例,執行以下代碼
title_textField.delegate = self title_textField.returnKeyType = UIReturnKeyType.done
鍵盤輸入時會出現完成按鈕,如圖
執行以下方法便可觸發點擊完成的事件
func textFieldShouldReturn(_ textField: UITextField) -> Bool { title_textField.resignFirstResponder() return true }
第二種:在鍵盤上方加一個 UIToolbar,觸發 UIToolbar事件執行關閉
效果如圖,右上角
定義UIToolbar
let toolbar:UIToolbar = UIToolbar(frame: CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: 30)) let flexSpace = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, action: nil) let doneBtn: UIBarButtonItem = UIBarButtonItem(title: "完成", style: .done, target: self, action: #selector(doneButtonAction)) toolbar.setItems([flexSpace, doneBtn], animated: false) toolbar.sizeToFit() //對輸入框進行設置 title_textField.inputAccessoryView = toolbar
觸發事件
func doneButtonAction() { title_textField.resignFirstResponder() }