为什么VStack在带有scrollview的GeometryReader中不起作用?

时间:2020-04-01 07:05:37

标签: swiftui geometryreader

在没有GeometryReader的情况下,我使用vStack的滚动视图有效(在AppleTV中-我未在iOS中进行测试)。

然后,我像ZStack一样添加了geometryreader和VStack“折叠”。

我该怎么解决? (是的,我需要geometryreader;))

SimpleUserDTO

结果:

enter image description here

,此代码可根据需要工作:

struct ContentView: View {

    @State var offset : CGFloat = 0

    var body: some View {
        ScrollView(.vertical, showsIndicators: false) {
            VStack(alignment: .leading) {
                GeometryReader { geometry -> AnyView in
                    let newOffset = geometry.frame(in: .global).minY
                    if newOffset != self.offset {
                        self.offset = newOffset
                        print("new offset",newOffset)
                    }
                    return AnyView (
                        ForEach (0..<5) { _ in
                            Text("umpf")
                        }
                    )
                }
            }
        }
    }
}

结果: enter image description here

1 个答案:

答案 0 :(得分:2)

让我假设您最初是想要这样做的(它不会破坏ScrollView的布局和滚动)

Success