我在确定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)")
}
}
}
)
}
}
}