SwiftUI UIActivityViewController

struct ShareSheet:UIViewControllerRepresentable{
    //你想分享的数据
   @Binding var items:[Any]
    func makeUIViewController(context: Context) -> UIActivityViewController {
        let controller = UIActivityViewController(activityItems: items, applicationActivities: nil)
        
        return controller
    }
    func updateUIViewController(_ uiViewController: UIActivityViewController, context: Context) {
        
    }
}


// 使用方法

@State private var isSharePresented: Bool = false
@State var items:[Any] = []

Button(action: {
    items.removeAll()
    items.append("hello")
    self.isSharePresented.toggle()
}) {
    Label {
        Text("分享")
    } icon: {
        Image(systemName: "square.and.arrow.up")
    }

}
.sheet(isPresented: $isSharePresented,
    onDismiss: {
        print("Dismiss")
    }, content: {
        //share sheet
        ShareSheet(items: items)
    }
)

苹果应用商店|搜|王勋才|有我全部作品
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容