SwiftUI 4.0 如何知道ShareLink是否分享成功

use*_*668 13 swift swiftui

我现在正在使用新的 SwiftUI 4.0 并使用新的 ShareLink 功能。我如何知道链接或文本是否已成功共享,有什么建议会很好吗?我有一个像这样的简单共享链接

          ShareLink(item: InviteMessage) {
                    Text("Test Share")
                        .foregroundColor(.black)
                 }
Run Code Online (Sandbox Code Playgroud)

之前在 SwiftUI 3.0 中我会使用这段代码

                .background(SharingViewController(isPresenting: $InviteOthers) {
                    let message = "Share Me"
                    let av = UIActivityViewController(activityItems: [message], applicationActivities: nil)
                    av.completionWithItemsHandler = { (activity, success, items, error) in

                        if success {
                            // shared successfully update count
                        }
                       }
                       
                    return av
                })
Run Code Online (Sandbox Code Playgroud)

Jér*_*Boé 12

似乎不可能知道内容是否已成功共享,但您至少可以检测是否已使用修饰符单击了链接simultaneousGestureonTapGesture在 ShareLink 上不起作用):

ShareLink(){}
.simultaneousGesture(TapGesture().onEnded() {
    print("clicked") 
})
Run Code Online (Sandbox Code Playgroud)

  • iOS 上也无法使用 (3认同)

bjn*_*ier 1

我在一张纸上有一个共享链接,但我无法使其消失。但我把它改成了Menu,分享成功后Menu就自动消失了。

Menu {
    ShareLink(item: "The text to share") {
        Label("Text", systemImage: "text.alignleft")
    }
} label: {
    Image(systemName: "square.and.arrow.up")
}
Run Code Online (Sandbox Code Playgroud)