我正在使用this pod来处理文本字段和键盘。在我的App.Delegate文件中,我导入了IQKeyboardManagerSwift并启用了它,现在可以正常工作了。但是,我现在遇到的问题是,即使用户点击键盘上的回车键,我也无法关闭键盘,并且键盘保持不变。我添加了IQKeyboardManager.shared.shouldResignOnTouchOutside = true
,因此当用户点击键盘的外部时,键盘将关闭。我要添加的功能是,当用户点击键盘上的返回按钮时,键盘也会关闭。我猜resignFirstResponder()
会启用此功能(“当前退出第一响应者”字段),但我不知道如何实现该功能。
我看到其他一些人使用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
}
....
}
答案 0 :(得分:1)
将所有textField的委托设置为viewController:
yourTextField.delegate = self
然后让您的viewController适应UITextField委托:
// MARK: - UITextFieldDelegate
extension YourViewController: UITextFieldDelegate {
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
view.endEditing(true)
}
}