如何在检测到长按手势并停止时 运行 起作用?

How to run function when long press gesture detected and stopped?

我想实现以下示例:用户需要按下一个按钮至少 0.3 秒,此后录音开始,用户松开按钮后录音停止。

我的解决方案是:

Image(systemName: "mic.circle")
            .resizable()
            .aspectRatio(contentMode: .fit)
            .frame(width: 70)
            .foregroundColor(Color.blue)
            .onLongPressGesture(minimumDuration: 0.3){
                print("start recording...")
            }

当用户停止按下按钮时,如何实现该功能?

我可以解决我的问题,希望对你们中的一些人有用:

@State private var isPressingDown: Bool = false

Image(systemName: "mic.circle")
        .resizable()
        .aspectRatio(contentMode: .fit)
        .frame(width: 70)
        .foregroundColor(Color.blue)
        .onLongPressGesture(minimumDuration: 0.3){
            self.isPressingDown = true
            print("started")
        }
        .simultaneousGesture(
            DragGesture(minimumDistance: 0)
                .onEnded{ _ in
                    if self.isPressingDown{
                        self.isPressingDown = false
                            print("ended")
                        }
                    }
            )