如何在 iOS 应用中隐藏屏幕键盘?

iosmobile developmentiphone/ipadswift更新于 2026/2/20 19:52:17

要隐藏屏幕上的键盘,我们需要使用 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() 中调用此函数,然后每当我们点击视图中除文本视图/字段之外的任意位置时,键盘都会被隐藏。



相关文章



关于我们 | 隐私条款 | 学习路线
返回顶部