在 SwiftUI 中的表单上捕捉点击手势

Posted

技术标签:

【中文标题】在 SwiftUI 中的表单上捕捉点击手势【英文标题】:Catch Tap gesture on Form in SwiftUI 【发布时间】:2019-10-17 13:09:29 【问题描述】:
struct ContentView: View 

    @State var text = ""
    var body: some View 
        Form 
            Button(action: 
                print("Button pressed")
            ) 
                Text("Button")
            
        .simultaneousGesture(TapGesture().onEnded(  print("tap") ))
    

我需要捕捉到Form 上的按钮动作和轻击手势,但只执行print("tap")VStack 工作正常,但 Form 似乎有点特别。有什么想法吗?

【问题讨论】:

【参考方案1】:

如果你这样做,你会得到按钮点击(还有表单点击)。不知道对你有没有帮助。

@State var text = ""
var body: some View 
    Form 
        Button(action: 

        ) 
            Text("Button")
        .onTapGesture 
            print("button")
        
    .onTapGesture 
        print("form")
        

【讨论】:

以上是关于在 SwiftUI 中的表单上捕捉点击手势的主要内容,如果未能解决你的问题,请参考以下文章

swif解决手势冲突

检测 GeometryReader SwiftUI 背景上的点击手势

SwiftUI 拖放文件

跨多个子视图的 SwiftUI 拖动手势

创建一个捕捉点击但对所有其他手势透明的 UIView

SwiftUI 点击手势阻止列表中的项目删除操作