【问题标题】:Scroll view content inset issue on keyboardWillShowkeyboardWillShow 上的滚动视图内容插入问题
【发布时间】: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
}

【问题讨论】:

    标签: uitableview uiscrollview uikeyboard


    【解决方案1】:

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

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

    【讨论】:

    • Tx 获取提示。我设法通过向上移动整个视图来使其工作,但是它有一些副作用。它显示了键盘和视图之间的背景空间。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-12
    • 2019-06-09
    • 2023-03-04
    • 2013-06-09
    • 1970-01-01
    • 1970-01-01
    • 2017-02-03
    相关资源
    最近更新 更多