SwiftUI:将链接与 onTapGesture 一起使用
Posted
技术标签:
【中文标题】SwiftUI:将链接与 onTapGesture 一起使用【英文标题】:SwiftUI: use Link with onTapGesture 【发布时间】:2021-12-24 12:17:44 【问题描述】:我想在我的 SwiftUI 视图中指定一个链接,但我也想在Link
是否实际被点击时注册。最好的方法是什么?我尝试在链接上添加onTapGesture
(我相信这是一个视图):
Link("Test", destination: URL(string: "testThreePanel://")!)
.onTapGesture
print("Testing button link tapped")
但onTapGesture
在点击链接时不会被调用。
还有其他方法吗?
【问题讨论】:
【参考方案1】:你可以试试这个,对我有用,但只适用于 ios15 / macOS12:
// iOS15 / macOS12 only
Link("Test", destination: URL(string: "https://duckduckgo.com")!)
.environment(\.openURL, OpenURLAction url in
print("---> testing link actioned")
return .systemAction
)
【讨论】:
我试过这个并收到一条错误消息:“密钥路径值类型'WritableKeyPath以上是关于SwiftUI:将链接与 onTapGesture 一起使用的主要内容,如果未能解决你的问题,请参考以下文章
onTapgesture 禁用 View SwiftUI 的按钮
SwiftUI 使用 onTapGesture 和 onLongPressGesture 处理按钮/视图以及释放操作
SwiftUI:带有onTapGesture的列表单元格内的菜单触发手势