我在我的视图控制器中有多个textField和textView,它们都在scrollView中。我使用以下代码处理键盘的显示和隐藏:
我在viewDidLoad中添加了以下代码行:
还有这两个功能:
当我开始编辑textField时,一切都正常。但是在textView上不起作用,并且滚动到活动的textView存在问题。
我该如何修复它?
我在viewDidLoad中添加了以下代码行:
NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillShow), name:UIResponder.keyboardWillChangeFrameNotification, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillHide), name:UIResponder.keyboardWillHideNotification, object: nil)
还有这两个功能:
@objc func keyboardWillShow(notification:NSNotification){
guard let keyboardValue = notification.userInfo?[UIResponder.keyboardFrameEndUserInfoKey] as? NSValue else { return }
let keyboardScreenEndFrame = keyboardValue.cgRectValue
let keyboardViewEndFrame = view.convert(keyboardScreenEndFrame, from: view.window)
let bottom = keyboardViewEndFrame.height - view.safeAreaInsets.bottom + 16
self.scrollView.contentInset = UIEdgeInsets(top: 0, left: 0, bottom: bottom , right: 0)
}
@objc func keyboardWillHide(notification:NSNotification){
self.scrollView.contentInset = UIEdgeInsets.zero
}
当我开始编辑textField时,一切都正常。但是在textView上不起作用,并且滚动到活动的textView存在问题。
我该如何修复它?