【发布时间】:2020-01-30 18:11:47
【问题描述】:
考虑一下 SwiftUI 中的这个视图:
struct MyView: View {
var body: some View {
Rectangle()
.fill(Color.blue)
.frame(width: 200, height: 200)
.onTapGesture {
print("single clicked")
}
}
}
现在我们正在处理单击。假设你也想处理双击,但需要一个单独的回调。
你有两个选择:
- 单击后添加双击处理程序 - 这根本不起作用
- 在单击处理程序之前添加双击处理程序,这有点工作:
struct MyView: View {
var body: some View {
Rectangle()
.fill(Color.blue)
.frame(width: 200, height: 200)
.onTapGesture(count: 2) {
print("double clicked")
}
.onTapGesture {
print("single clicked")
}
}
}
正确调用了双击处理程序,但在延迟约 250 毫秒后调用了单击处理程序。
有什么办法解决这个问题吗?
【问题讨论】:
-
另一种注册右击手势的方法,这里:stackoverflow.com/a/66432412/14998134