在我的 Swiftui 应用程序中,我使用这样的共享链接
import SwiftUI
struct ContentView: View {
var body: some View {
ShareLink(item: URL(string: "SOME_URL")!) {
Image(systemName: "square.and.arrow.up.circle.fill")
}
// how to implement?
//Analytics.logEvent(...)
}
}
#Preview {
ContentView()
}
并且想使用 Firebase 通过调用 Analytics.logEvent(...) 来获取该链接是否被单击的信息
但是我该如何实现 Analytics.logEvent() 以便在使用共享链接时它会被触发?
我尝试了 onTapGesture
.onTapGesture{
Analytics.logEvent(...)
}
但是点击后共享链接不再起作用
提前谢谢您
因此,您想要的是添加自己的 TapGesture 逻辑,而不覆盖 ShareLink 自己的(嵌入的)手势逻辑。
.simultaneousGesture
的用途:
ShareLink(item: URL(string: "SOME_URL")!) {
Image(systemName: "square.and.arrow.up.circle.fill")
}
.simultaneousGesture( // <-- allows view-defined gestures to also trigger
TapGesture()
.onEnded {
//Analytics.logEvent(...)
}
)
(由于你的问题,我实际上学到了这一点)