当在滚动视图顶部有视图时,我不能让滚动视图滚动

时间:2021-01-20 06:26:11

标签: swift swiftui swiftui-list

在 SwiftUI 中,如何通过将视图放在滚动视图之上来让滚动视图可滚动?

所以基本上,我有一个包含 ZStackScrollViewView。 两者都在消耗 ZStack 内的全部可用空间。

在这种情况下,View 位于 ZStack 之上。 View 还包含一个 Button 和在某些区域添加的 TapGesture

如何让 ScrollView 仍然可以滚动浏览 View

感谢您对此的任何帮助!

一些代码来说明,虽然不完整。

var body: some View {
    ZStack {
        ScrollView {
            SomeCell() // Looped
        }
        HUD() // The view talked above
    }
}

1 个答案:

答案 0 :(得分:1)

根据 this post,这是一个已知的 SwiftUI 错误。我也遇到了同样的问题,我不相信有原生的 SwiftUI 解决方案。您可能不得不依赖 UIViewRepresentable。

对于我的用例,我只希望我的滚动视图的水平边缘具有“褪色”外观,我可以通过使用蒙版而不是覆盖来实现这一点,但我不确定这是否有帮助你的情况。

ScrollView {
   Text("Hello")
}.mask(
    LinearGradient(gradient: Gradient(colors: [
                                Colors.background.opacity(0),
                                Colors.background.opacity(1),
                                Colors.background.opacity(0)
                            ]),
                            startPoint: .leading,
                            endPoint: .trailing
                        )
                    )