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