OnLongPressGesture 释放动作(SwiftUI)

OnLongPressGesture release action (SwiftUI)

我看到有一个 .onLongPressGesture(minimumDuration:maximumDistance:pressing:perform:)。

然而,没有足够的文档让我了解当用户释放按钮时如何执行操作。

理解我在说什么的一个很好的例子是当你按住一个按钮开始录制视频然后松开停止录制。

.onLongPressGesture(minimumDuration: 0.5, maximumDistance: 100, pressing: {}, perform: {} )

答案就是像这样调用标识符。

  1. 创建了一个跟踪用户是否按下按钮的状态
@State var hasPressed = false
  1. 在按下参数上,根据用户是否按下按钮使用状态来执行操作。
.onLongPressGesture(minimumDuration: 0.5, maximumDistance: 100, pressing: {
                            pressing in
                            self.hasPressed = pressing
                            if pressing {action1}
                            if !pressing {action2}
                        }, perform: {})