我正在尝试以编程方式滚动到 a 中的特定 Y 位置ScrollView
,当单击按钮时,如何设置ScrollView
位置?
ScrollView {
Button(action: {
}) {
Text("Sign In").fontWeight(.heavy)
}
}
我想要这个按钮操作,以访问和更改 ScrollView 位置。
SwiftUI 2.0
由于 iOS 14 可以使用ScrollViewReader
(即 ScrollView 容器中的某些特定视图可以分配标识符并通过ScrollViewProxy.scrollTo
该视图),如下例所示
使用 Xcode 12b 测试。
struct DemoScrollToView: View {
var body: some View {
ScrollView {
ScrollViewReader { sp in // << here !!
Button(action: {
withAnimation {
sp.scrollTo(80) // << here !!
}
}) {
Text("Sign In").fontWeight(.heavy)
}
ForEach(0..<100) { i in
Text("Item \(i)").padding().id(i) // << here !!
}
}
}
}
}