Osa*_*Osa 6 xcode ios swift swiftui
我试图以编程方式滚动到的特定Y位置,ScrollView单击按钮时,如何设置ScrollView位置?
ScrollView {
Button(action: {
}) {
Text("Sign In").fontWeight(.heavy)
}
}
Run Code Online (Sandbox Code Playgroud)
我希望此按钮动作可以访问和更改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 !!
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)