Как запретить ScrollView захватывать касания за пределами его границ в SwiftUI? - PullRequest
0 голосов
/ 12 июля 2020

Вот мой полный код, который вы можете запустить:

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

Это простой VStack с двумя встроенными представлениями -> A Rectangle и ScrollView

Ошибка: прокрутка просмотр прокрутки. Если вы теперь коснетесь прямоугольника, будут затронуты строки прокрутки.

Как это возможно, если они разделены внутри VStack? И как это исправить?

1 Ответ

0 голосов
/ 06 августа 2020

Временное исправление от @ 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())
            }
        }
    }
}
...