Swiftui 仅长按手势释放动作(快捷界面)

Swiftui 仅长按手势释放动作(快捷界面),swiftui,gesture,Swiftui,Gesture,我看到有一个.onLongPress手势(最小持续时间:最大距离:按:执行:) 但是,没有足够的文档让我理解当用户释放按钮时如何执行操作 理解我所说的一个很好的例子是,当你按下一个按钮开始录制视频,然后放开停止录制 .onLongPressGesture(minimumDuration: 0.5, maximumDistance: 100, pressing: {}, perform: {} ) 答案是这样调用标识符 创建了跟踪用户是否按下按钮的状态 在pressing(按下)参数上,根据用户

我看到有一个.onLongPress手势(最小持续时间:最大距离:按:执行:)

但是,没有足够的文档让我理解当用户释放按钮时如何执行操作

理解我所说的一个很好的例子是,当你按下一个按钮开始录制视频,然后放开停止录制

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

答案是这样调用标识符

  • 创建了跟踪用户是否按下按钮的状态
  • 在pressing(按下)参数上,根据用户是否按下按钮,使用状态执行操作

  • 如果您只需将
    onTap手势
    添加到
    按钮
    中,再添加
    onLongPress手势
    ,会怎么样?另外,我相信
    label
    参数是
    label
    ,而不是字符串。我相信您正在寻找
    按钮(uquo:action:)
    。这是否回答了您的问题?还是这个?看看这个:@West1与question@BestFromAbove当我发布它时(在您编辑您的问题以排除错误使用
    按钮之前),它当然是相关的。
    
    @State var hasPressed = false
    
    .onLongPressGesture(minimumDuration: 0.5, maximumDistance: 100, pressing: {
                                pressing in
                                self.hasPressed = pressing
                                if pressing {action1}
                                if !pressing {action2}
                            }, perform: {})