2

我想在滚动视图中制作可扩展列表。我使用滚动视图全局位置的顶部,但是当我扩展部分顶部位置时减少并重新定位。

示例代码:

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)")
                    }
                }

            }
        }

输出

4

1 回答 1

0

一切都按预期工作。当reader.frame(in: .global).minY您向上拖出屏幕时,您将获得 ScroolView 内容视图的 minY(而不是您可能预期的 ScroolView 本身)允许的弹簧效果位置。尝试拖动,您会在调试输出中看到它。

于 2019-11-15T03:26:33.787 回答