📅  最后修改于: 2023-12-03 15:24:23.301000             🧑  作者: Mango
在 iOS 开发中,关闭键盘是一个常见的需求。本文将介绍在 Swift 中如何通过多种方式关闭键盘。
通常用户在输入完毕后需要点击 Done 或者 Return 键来关闭键盘,但是如果用户忘记了,那么就需要通过点击空白处来关闭键盘。
在 View Controller 中,我们可以通过添加一个 UITapGestureRecognizer,来实现点击空白处关闭键盘的功能。代码如下:
// 在 viewDidLoad 中添加以下代码
let tapGesture = UITapGestureRecognizer(target: view, action: #selector(UIView.endEditing))
view.addGestureRecognizer(tapGesture)
通过上述代码,当用户点击 View Controller 的空白处时,键盘会被关闭。
在键盘上添加一个 Done 或 Return 键,一般会默认为关闭键盘。我们需要为这些键添加响应事件,并在事件中关闭键盘。
代码如下:
// 在 viewDidLoad 中添加以下代码
override func viewDidLoad() {
super.viewDidLoad()
let textField = UITextField(frame: CGRect(x: 0, y: 0, width: 200, height: 30))
textField.delegate = self
textField.returnKeyType = .done
view.addSubview(textField)
}
// 实现 UITextFieldDelegate 的 textFieldShouldReturn 方法
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
textField.resignFirstResponder()
return true
}
通过上述代码,当用户点击键盘上的 Done 或 Return 键时,键盘会被关闭。
除了以上两种方式外,我们还可以通过手动关闭键盘。比如在按钮点击事件中,或者在一些特殊的情况下,我们需要手动关闭键盘。
代码如下:
// 手动关闭键盘
view.endEditing(true)
通过以上代码,可以手动关闭键盘,当参数为 true 时,会强制关闭所有当前正在编辑的文本框键盘,包括键盘外部通过其他手段弹出的输入法,比如:分享、翻译等。
关闭键盘是 iOS 开发中一个常用的功能,本文总结了三种方式:通过点击空白处关闭键盘、通过点击 Done 或 Return 键关闭键盘、通过手动关闭键盘。开发者可以根据实际需求选择合适的方式来完成关闭键盘的功能。