gpt4 book ai didi

ios - 设置 content inset 让 UItableView 滚动一点点

转载 作者:搜寻专家 更新时间:2023-11-01 06:37:03 53 4
gpt4 key购买 nike

我有一个 UITableView,底部有一个“添加新项目”单元格。当用户点击文本字段时,键盘出现并且 tableview 获得内容插入,因此它的底部始终在键盘上方而不是隐藏在键盘下方。这已经几乎完美了,但是在键盘出现后,tableview 不再像以前那样滚动到底部,它略高于底部,因此底部单元格部分被键盘覆盖。

要设置内容插入,我注册到键盘通知并运行此代码:

func adjustForKeyboard(notification: Notification) {

let userInfo = notification.userInfo!

let keyboardScreenEndFrame = (userInfo[UIKeyboardFrameEndUserInfoKey] as! NSValue).cgRectValue
let keyboardViewEndFrame = view.convert(keyboardScreenEndFrame, from: view.window)

if notification.name == Notification.Name.UIKeyboardWillHide {
tableView.contentInset = UIEdgeInsets.zero
} else {
tableView.contentInset = UIEdgeInsets(top: 0, left: 0, bottom: keyboardViewEndFrame.height, right: 0)
}

tableView.scrollIndicatorInsets = tableView.contentInset
}

这里还有一些截图:

After keyboard appeared

How it should look

最佳答案

    let indexPath = IndexPath(row: 0, section: tableView.numberOfSections - 1)
tableView.scrollToRow(at: indexPath, at: .top, animated: false)

将这两行添加到我的函数中,为我部分修复了它。我可以发誓,我以前试过这个,但我不认为我使用了非动画版本。也许这会有所作为。

关于ios - 设置 content inset 让 UItableView 滚动一点点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40327027/

53 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com