如何防止ScrollView在SwiftUI中捕获超出其范围的水龙头?

时间:2020-07-12 15:35:06

标签: swift swiftui

这是我可以运行的完整代码:

struct ContentView: View {
    var body: some View {
        NavigationView {
            VStack(spacing: 0) {
                Rectangle().frame(height: 100)
                ScrollView(.vertical, showsIndicators: false) {
                    ForEach((0..<1000)) { index in
                        NavigationLink("Click on this line - \(index)", destination: Text("CONGRATS!! ITS \(index)!!!"))
                    }
                }
            }
        }
    }
}

这是一个嵌入了2个视图的简单VStack->一个Rectangle和一个ScrollView

错误:滚动“滚动”视图。 如果现在点击该矩形,则滚动视图的行将被点击。

将它们分隔在VStack中怎么办?而我该如何解决呢?

1 个答案:

答案 0 :(得分:0)

变通解决 来自@SwiftUILab

struct ContentView: View {
    var body: some View {
        NavigationView {
            VStack(spacing: 0) {
                Rectangle().frame(height: 100)
                ScrollView(.vertical, showsIndicators: false) {
                    ForEach((0..<1000)) { index in
                        NavigationLink("Click on this line - \(index)", destination: Text("CONGRATS!! ITS \(index)!!!"))
                    }
                }.contentShape(Rectangle())
            }
        }
    }
}