SwiftUI: жесты перетаскивания NavigationLink и ScrollView сталкиваются

Я пытаюсь реализовать UICollectionView нравиться Viewв SwiftUI, который в основном работает нормально. Но когда я прокручиваю / перетаскиваю внутри прокрутки для прокрутки вниз, нажатие распознается наNavigationLink а затем перейти к подробному представлению, даже если я просто хотел прокрутить вниз.

Есть идеи, что может быть причиной этого? Дополнительная информация: ВесьNavigationView открывается из .sheetс другого ракурса (как вы могли заметить на скриншоте). Я попытался добавить ссылку "вручную", установивtag свойство на ссылке и установка тега в TapGesture, но это тоже не работает.

Вот краткий пример, в котором можно воспроизвести ошибку. Прокрутка вниз активирует касание одного из белых прямоугольников.

Просмотр перед жестом перетаскивания в режиме прокрутки

Просмотр во время жеста перетаскивания, касание уже распознается на NavigationLink

Представление навигации переходит в подробное представление после жеста перетаскивания

    var body: some View {
        NavigationView {
            ScrollView {
                VStack {
                    ForEach(0..<6) { i in
                        NavigationLink(destination: Text("Detail")) {
                            Rectangle()
                                .background(Color.red)
                                .frame(width: 365, height: 100, alignment: .center)
                        }
                    }
                }
            }
            .navigationViewStyle(StackNavigationViewStyle())
            .navigationBarTitle("Items")
        }
    }

0 ответов

Другие вопросы по тегам