0

我想在 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 次点击进入拖动)做出反应。

4

0 回答 0