首页 > 解决方案 > SwiftUI:将链接与 onTapGesture 一起使用

问题描述

我想在我的 SwiftUI 视图中指定一个链接,但我也想注册何时/如果它Link实际被点击。最好的方法是什么?我尝试onTapGesture在链接上添加一个(我相信这是一个视图):

Link("Test", destination: URL(string: "testThreePanel://")!)
                    .onTapGesture {
                        print("Testing button link tapped")
                    }

但是onTapGesture在点击链接时不会调用。

还有另一种方法可以做到这一点吗?

标签: swiftui

解决方案


你可以试试这个,对我有用,但只在 iOS15 / macOS12 上:

// iOS15 / macOS12 only 
Link("Test", destination: URL(string: "https://duckduckgo.com")!)
        .environment(\.openURL, OpenURLAction { url in
            print("---> testing link actioned")
            return .systemAction
        })

推荐阅读