0

我在一个使用列表的 SwiftUI 项目中有一个聊天应用程序。我不想使用 ScrollView/LazyVStack。

当键盘出现并且列表已经滚动到底部时,我在向上移动内容时遇到问题。键盘只覆盖内容,直到用户向上滚动。在 swiftUI 之前,我将通过监听键盘更改并设置 tableView.contentOffset 以匹配键盘显示来实现这一点。

有没有使用 SwiftUI 列表做类似的事情?除了反转列表之外,我无论如何都找不到在键盘显示时平滑地向上移动内容。目前我只是在听keyboardDidShow并在键盘显示后使用scrollView代理滚动列表但有延迟并且不流畅:

.onReceive($scrollListForKeyboardAppearance) { value in
    withAnimation {
        scrollView.scrollTo("LastMessageInList")
    }
}

我还尝试观察键盘高度并使用键盘高度向列表添加填充,但这也不起作用。

4

0 回答 0