我想确定(垂直)ScrollView
中内容的高度。
ScrollView {
//My Content
}
这可能吗?我已经尝试了一些方法,但是似乎没有任何效果。
不幸的是,仅使用GeometryReader
是行不通的,因为无论10
内包含什么内容,它都会返回ScrollView
的值。
谢谢!
答案 0 :(得分:1)
这是一种实际获取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
输出。
答案 1 :(得分:0)
您可以使用GeometryReader:
ScrollView {
GeometryReader { geometry in
//print(geometry.size.height)
}
}