如何在 SwiftUI 中将表单滚动到特定的 UI 元素
how to scroll a form to a specific UI element in SwiftUI
我在 SwiftUI NavigationView 上有一个表单。
表单没有特殊元素,但有标准元素:TextField、DatePicker 和一些 Buttons
我想以编程方式滚动到特定元素。
我该怎么做?
ScrollViewReader 似乎不适用于表单。
ScrollViewReader { p in
Form {
....
Button(action: {
p.scrollTo(150)
}) {
Text(self.label)
}
}
为每个元素赋予id并将此id传递给.scrollTo(id)
方法。
像这样
struct ContentView: View {
var body: some View {
ScrollViewReader { p in
Form {
Button(action: {
}) {
Text("Top")
}.id(150)
ForEach(0..<30) { index in
Text("\(index)")
.id(index)
}
Button(action: {
p.scrollTo(150)
}) {
Text("Scroll")
}
}
}
}
}
我在 SwiftUI NavigationView 上有一个表单。 表单没有特殊元素,但有标准元素:TextField、DatePicker 和一些 Buttons
我想以编程方式滚动到特定元素。 我该怎么做?
ScrollViewReader 似乎不适用于表单。
ScrollViewReader { p in
Form {
....
Button(action: {
p.scrollTo(150)
}) {
Text(self.label)
}
}
为每个元素赋予id并将此id传递给.scrollTo(id)
方法。
像这样
struct ContentView: View {
var body: some View {
ScrollViewReader { p in
Form {
Button(action: {
}) {
Text("Top")
}.id(150)
ForEach(0..<30) { index in
Text("\(index)")
.id(index)
}
Button(action: {
p.scrollTo(150)
}) {
Text("Scroll")
}
}
}
}
}