OnLongPressGesture 释放动作 (SwiftUI)
Posted
技术标签:
【中文标题】OnLongPressGesture 释放动作 (SwiftUI)【英文标题】:OnLongPressGesture release action (SwiftUI) 【发布时间】:2021-05-19 15:04:34 【问题描述】:我看到有一个 .onLongPressGesture(minimumDuration:maximumDistance:pressing:perform:)。
但是没有足够的文档让我了解当用户释放按钮时如何执行操作。
了解我在说什么的一个很好的例子是当您按住一个按钮开始录制视频并松开以停止录制。
.onLongPressGesture(minimumDuration: 0.5, maximumDistance: 100, pressing: , perform: )
【问题讨论】:
如果除了onLongPressGesture
之外,您只需将onTapGesture
添加到Button
会怎样?另外,我相信label
参数是Label
,而不是字符串。我相信您正在寻找Button(_:action:)
。
这是否回答了您的问题***.com/a/60465960/12299030?还是这个***.com/a/61723144/12299030?
看看这个:***.com/a/61784292/14351818
@West1 与问题无关
@BestFromAbove 当我发布它时它肯定是相关的(在你编辑你的问题以排除你对Button
的错误使用之前)。
【参考方案1】:
解决办法是像这样调用标识符。
-
创建了一个状态来跟踪用户是否按下了按钮
@State var hasPressed = false
-
在 press 参数上,根据用户是否按下按钮,使用状态执行操作。
.onLongPressGesture(minimumDuration: 0.5, maximumDistance: 100, pressing:
pressing in
self.hasPressed = pressing
if pressing action1
if !pressing action2
, perform: )
【讨论】:
以上是关于OnLongPressGesture 释放动作 (SwiftUI)的主要内容,如果未能解决你的问题,请参考以下文章
onTapGesture 和 onLongPressGesture 没有响应
在swiftUI中捕获onLongPressGesture的touchDown位置?
onLongPressGesture 使列表项在 SwiftUI 中不可滚动