我试图在视图出现时将滚动重置到页面顶部(例如,当您从导航链接导航回来时)。ScrollView 嵌入在带有大标题的 NavigationView 中。
使用下面的代码,我可以使用ScrollViewReader
and将滚动重置到页面上的第一个元素scrollTo
。
但是,我希望视图一直滚动到顶部,以便重新出现大型导航栏标题。相反,我只看到内联标题。
有没有更好的方法来重置滚动到页面的最顶部并显示大导航栏标题?
import SwiftUI
struct ContentView: View {
var body: some View {
NavigationView {
ScrollView {
ScrollViewReader { value in
ForEach(0..<10) { i in
HStack {
Spacer()
NavigationLink(destination: Text("Destination"), label: { Text("\(i)") })
.padding(.bottom, 100)
Spacer()
}
.id(i)
}
.onAppear() {
value.scrollTo(0)
}
}
}
.navigationBarTitle("Scroll Test")
}
}
}