所以我有一些ScrollView看法:
ScrollView {
ForEach(cities) { city in
NavigationLink(destination: ...) {
CityRow(city: city)
}
.buttonStyle(BackgroundButtonStyle())
}
}
Run Code Online (Sandbox Code Playgroud)
在每个视图中,我都有一个拖动手势:
let drag = DragGesture()
.updating($gestureState) { value, gestureState, _ in
// ...
}
.onEnded { value in
// ...
}
Run Code Online (Sandbox Code Playgroud)
我分配给视图的一部分:
ZStack(alignment: .leading) {
HStack {
// ...
}
HStack {
// ...
}
.gesture(drag)
}
Run Code Online (Sandbox Code Playgroud)
一旦我附加了手势,就ScrollView停止滚动。使其滚动的唯一方法是从没有手势的部分开始滚动。我如何避免这种情况并使两者一起工作。在UIKit中,就像true在shouldRecognizeSimultaneouslyWithmethod中指定一样简单。我如何在SwiftUI中拥有相同的功能?
在SwiftUI中,我尝试使用.simultaneousGesture(drag)和附加手势.highPriorityGesture(drag)-它们的工作原理都与相同.gesture(drag)。我还尝试GestureMask为including:参数提供所有可能的静态值-我可以滚动工作,也可以拖动手势工作。从来没有两个。