我想在滚动视图中创建可扩展列表。我使用滚动视图全局位置的顶部,但是当我扩展节时,顶部位置减小并重新定位。
示例代码:
ScrollView{
VStack{
GeometryReader{ reader -> AnyView in
print("\(reader.frame(in: .global).minY)")
return AnyView(Text("\(reader.frame(in: .global).minY)").onTapGesture {
self.isExtended.toggle()
})
}
Text("Test").onTapGesture {
self.isExtended.toggle()
}
if isExtended{
ForEach(0..<10,id:\.self){ index in
Text("\(index)")
}
}
}
}
<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9JUFF3di5wbmcifQ==” alt =“输出”>
所有工作均符合预期。通过reader.frame(in: .global).minY
,当您向上拖动到屏幕外时,将获得ScroolView内容的弹簧效果的最小允许位置。尝试拖动,您会在调试输出中看到它。