📜  如何在 swift 中关闭键盘(1)

📅  最后修改于: 2023-12-03 15:24:23.301000             🧑  作者: Mango

如何在 Swift 中关闭键盘

在 iOS 开发中,关闭键盘是一个常见的需求。本文将介绍在 Swift 中如何通过多种方式关闭键盘。

1. 通过点击空白处关闭键盘

通常用户在输入完毕后需要点击 Done 或者 Return 键来关闭键盘,但是如果用户忘记了,那么就需要通过点击空白处来关闭键盘。

在 View Controller 中,我们可以通过添加一个 UITapGestureRecognizer,来实现点击空白处关闭键盘的功能。代码如下:

// 在 viewDidLoad 中添加以下代码
let tapGesture = UITapGestureRecognizer(target: view, action: #selector(UIView.endEditing))
view.addGestureRecognizer(tapGesture)

通过上述代码,当用户点击 View Controller 的空白处时,键盘会被关闭。

2. 通过点击 Return 或 Done 键关闭键盘

在键盘上添加一个 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 键时,键盘会被关闭。

3. 通过手动关闭键盘

除了以上两种方式外,我们还可以通过手动关闭键盘。比如在按钮点击事件中,或者在一些特殊的情况下,我们需要手动关闭键盘。

代码如下:

// 手动关闭键盘
view.endEditing(true)

通过以上代码,可以手动关闭键盘,当参数为 true 时,会强制关闭所有当前正在编辑的文本框键盘,包括键盘外部通过其他手段弹出的输入法,比如:分享、翻译等。

总结

关闭键盘是 iOS 开发中一个常用的功能,本文总结了三种方式:通过点击空白处关闭键盘、通过点击 Done 或 Return 键关闭键盘、通过手动关闭键盘。开发者可以根据实际需求选择合适的方式来完成关闭键盘的功能。