SwiftUI滚动查看内容高度



我在确定ScrollView 内视图的高度时遇到问题

struct ContentView: View {    
var body: some View {
ScrollView{
GeometryReader { geometry in
VStack{
ForEach(0..<90) { index in
Text("test (geometry.size.height)")
}
}
}
}
}
}

geometry.size.height总是10.000。

我该如何纠正这个意外的结果?

非常感谢!

我不确定你会怎么做。

GeometryReader读取提供给视图的大小,而不是视图的大小。您可以通过将GeometryReader放在VStack.overlay中来了解视图的大小,因为在创建覆盖时,VStack的大小已经确定,并且该大小将提供给覆盖。

struct ContentView: View {
var body: some View {
ScrollView{
VStack{
ForEach(0..<90) { index in
Text("test 000000000000")
.opacity(0)
}
}
.overlay(
GeometryReader { geometry in
VStack {
ForEach(0..<90) { index in
Text("test (geometry.size.height)")
}
}
}
)
}
}
}

最新更新