我想在 TapGesture 之后链接 DragGesture,以便通过缩放重新创建 Apple 在地图中所做的事情(单击然后向上或向下拖动,放大或缩小)。我试图以最直观的方式做到这一点:
var body: some Scene {
WindowGroup {
ContentView()
.highPriorityGesture(gesture)
}
}
var gesture: some Gesture {
TapGesture()
.onEnded { print("Tap") }
.sequenced(before: DragGesture(minimumDistance: 0, coordinateSpace: .global)
.onChanged { _ in print("Dragging") })
}
这实际上不会在控制台中打印“拖动”。我也尝试用 LongPressGesture 替换 DragGesture,然后长按也没有输出。另一方面,这按预期工作并输出:
Tap
Dragging
双击后:
TapGesture()
.onEnded { print("Tap") }
.sequenced(before: TapGesture(count: 2).onEnded { _ in print("Dragging") })
我是否错过了如何在 TapGesture 之后对手势进行排序的内容?同样,我想做的是对用户点击一次然后开始拖动(基本上是 1.5 次点击进入拖动)做出反应。