keyboardWillShow 上的滚动视图内容插入问题

Scroll view content inset issue on keyboardWillShow

我已经按照代码调整滚动视图插图。滚动视图中的内容低于键盘限制,如屏幕录制所示 - https://imgur.com/a/XWfiVYX

如何解决这个问题,使 bottomView 的底部贴在键盘的顶部并且不会向上或向下滚动?

@objc func keyboardWillShow(notification:NSNotification) {
    let userInfo = notification.userInfo!
    let keyboardFrame:CGRect = (userInfo[UIResponder.keyboardFrameEndUserInfoKey] as! NSValue).cgRectValue
    let kbSize = keyboardFrame.size
    let contentInset:UIEdgeInsets = UIEdgeInsets(top: 0.0, left: 0.0, bottom: kbSize.height, right: 0.0)

     scrollView.contentInset = contentInset
     scrollView.scrollIndicatorInsets = contentInset
}

使用 scrollView.contentInset 不会修复您在 kb 以上的视图,它会像您在您的案例中看到的那样上下滚动。此解决方案来自 Apple 的代码,它可以很好地仅在 kb 以上显示 textView,并且不会将文本视图的底部粘在 kb 以上。

您需要将整个 self.view 上移 kb 高度。