keyboardWillShow 上的滚动视图内容插入问题
Posted
技术标签:
【中文标题】keyboardWillShow 上的滚动视图内容插入问题【英文标题】:Scroll view content inset issue on keyboardWillShow 【发布时间】:2020-06-10 18:58:03 【问题描述】:我有以下代码来调整滚动视图插图。滚动视图中的内容低于屏幕录制中显示的键盘限制 - 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
【问题讨论】:
【参考方案1】:使用 scrollView.contentInset 不会修复您在 kb 以上的视图,它会在您看到的情况下上下滚动。该解决方案来自 Apple 的代码,它可以很好地将 textView 仅显示在 kb 之上,并且不会将文本视图的底部粘贴在 kb 之上。
您需要将整个 self.view 向上移动 kb 高度。
【讨论】:
Tx 获取提示。我设法通过向上移动整个视图来使其工作,但是它有一些副作用。它显示了键盘和视图之间的背景空间。以上是关于keyboardWillShow 上的滚动视图内容插入问题的主要内容,如果未能解决你的问题,请参考以下文章