如何在 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() 中调用此函数,然后只要我们在视图中的任何位置(除了文本视图/字段)点击,键盘就会隐藏。
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP