在 Swift 中,你可以通过使用 UITextViewUITextField 类来监听键盘事件。下面是一个简单的示例:\n\nswift\nimport UIKit\n\nclass ViewController: UIViewController, UITextFieldDelegate {\n \n @IBOutlet weak var textField: UITextField!\n \n override func viewDidLoad() {\n super.viewDidLoad()\n \n textField.delegate = self\n NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillShow), name: UIResponder.keyboardWillShowNotification, object: nil)\n NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillHide), name: UIResponder.keyboardWillHideNotification, object: nil)\n }\n \n @objc func keyboardWillShow(notification: NSNotification) {\n if let userInfo = notification.userInfo {\n let keyboardFrame = (userInfo[UIResponder.keyboardFrameEndUserInfoKey] as! NSValue).cgRectValue\n let keyboardHeight = keyboardFrame.height\n \n // 在这里你可以根据键盘的高度调整你的界面布局\n // 例如,将文本框的底部与键盘的顶部对齐\n textField.frame.origin.y = view.frame.height - keyboardHeight - textField.frame.height\n }\n }\n \n @objc func keyboardWillHide(notification: NSNotification) {\n textField.frame.origin.y = view.frame.height - textField.frame.height\n }\n \n func textFieldShouldReturn(_ textField: UITextField) -> Bool {\n // 当用户按下 Return 键时收起键盘\n textField.resignFirstResponder()\n return true\n }\n}\n\n\n这个示例中,我们首先将视图控制器声明为 UITextFieldDelegate,并在 viewDidLoad 方法中将 textField 的委托设置为视图控制器。然后,我们使用 NotificationCenter 来监听键盘的显示和隐藏事件,并在相应的方法中调整界面布局。最后,我们实现了 textFieldShouldReturn 方法来在用户按下 Return 键时收起键盘。\n\n请注意,你需要在 Interface Builder 中将 UITextField 连接到视图控制器的 textField 属性。

Swift 键盘监听教程:使用 UITextView 或 UITextField 监听键盘事件

原文地址: https://www.cveoy.top/t/topic/pv8G 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录