如何在用户按下键盘上的 return 按钮时关闭键盘?
How to dismiss keyboard when a user press return button on keyboard?
我正在使用 this pod 来处理文本字段和键盘。在我的 App.Delegate 文件中,我导入了 IQKeyboardManagerSwift 并启用了它,现在工作正常。但是,我现在遇到的问题是,即使用户点击键盘上的 return 键,我也无法关闭键盘并且键盘保持不变。我添加了 IQKeyboardManager.shared.shouldResignOnTouchOutside = true
,因此当用户点击键盘外部时,键盘消失。我想添加这样的功能,即当用户点击键盘上的 return 按钮时,键盘也会消失。我猜resignFirstResponder()
会启用这个功能(Resigns currently first responder field),但我不知道如何实现那个功能。
我看到其他人使用 textfieldShouldReturn 函数,但我想如果我在视图控制器中添加代码,我必须多次创建该函数。目前,我有几个文本字段,所以如果可能的话,我只想写一次代码。
如何实现该功能?
import IQKeyboardManagerSwift
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
IQKeyboardManager.shared.enable = true
IQKeyboardManager.shared.enableAutoToolbar = false
IQKeyboardManager.shared.shouldResignOnTouchOutside = true
IQKeyboardManager.shared.resignFirstResponder()
return true
}
....
}
将所有文本字段的委托设置为 viewController:
yourTextField.delegate = self
然后 viewController 让 UITextField Delegate 感到舒适:
// MARK: - UITextFieldDelegate
extension YourViewController: UITextFieldDelegate {
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
view.endEditing(true)
}
}
我正在使用 this pod 来处理文本字段和键盘。在我的 App.Delegate 文件中,我导入了 IQKeyboardManagerSwift 并启用了它,现在工作正常。但是,我现在遇到的问题是,即使用户点击键盘上的 return 键,我也无法关闭键盘并且键盘保持不变。我添加了 IQKeyboardManager.shared.shouldResignOnTouchOutside = true
,因此当用户点击键盘外部时,键盘消失。我想添加这样的功能,即当用户点击键盘上的 return 按钮时,键盘也会消失。我猜resignFirstResponder()
会启用这个功能(Resigns currently first responder field),但我不知道如何实现那个功能。
我看到其他人使用 textfieldShouldReturn 函数,但我想如果我在视图控制器中添加代码,我必须多次创建该函数。目前,我有几个文本字段,所以如果可能的话,我只想写一次代码。
如何实现该功能?
import IQKeyboardManagerSwift
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
IQKeyboardManager.shared.enable = true
IQKeyboardManager.shared.enableAutoToolbar = false
IQKeyboardManager.shared.shouldResignOnTouchOutside = true
IQKeyboardManager.shared.resignFirstResponder()
return true
}
....
}
将所有文本字段的委托设置为 viewController:
yourTextField.delegate = self
然后 viewController 让 UITextField Delegate 感到舒适:
// MARK: - UITextFieldDelegate
extension YourViewController: UITextFieldDelegate {
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
view.endEditing(true)
}
}