我想确定我的 (vertical) 内内容的高度ScrollView。
ScrollView {
//My Content
}
这可能吗?我已经尝试了一些东西,但似乎没有任何效果。
不幸的是,简单地使用GeometryReader是行不通的,因为它返回一个值,10不管里面有什么内容ScrollView
谢谢!
这是一种实际获取内容height的方法ScrollView。
CZ54 的答案似乎很直观,但它总是返回 10 的高度,这是不正确的!。
我们必须改为读取内容的高度。GeometryReader直接在里面ScrollView不会这样做。一种可能的方法是使用.background/ .overlay。
struct ContentView: View {
var body: some View {
ScrollView {
ForEach(0..<1000) { i in
Text("\(i)")
}
.background(
GeometryReader { proxy in
Color.clear.onAppear { print(proxy.size.height) }
}
)
}
}
}
我们得到一个20500.0正确的输出。
您可以使用GeometryReader:
ScrollView {
GeometryReader { geometry in
//print(geometry.size.height)
}
}