Skip to content

Instantly share code, notes, and snippets.

@takoikatakotako
Created May 1, 2024 15:42
Show Gist options
  • Save takoikatakotako/5eabddb391b49491778373e0321ef2f4 to your computer and use it in GitHub Desktop.
Save takoikatakotako/5eabddb391b49491778373e0321ef2f4 to your computer and use it in GitHub Desktop.
SwiftUIでUIActivityViewControllerを表示する
import SwiftUI
struct ActivityViewController: UIViewControllerRepresentable {
var activityItems: [Any]
var applicationActivities: [UIActivity]? = nil
func makeUIViewController(context: UIViewControllerRepresentableContext<ActivityViewController>) -> UIActivityViewController {
let controller = UIActivityViewController(activityItems: activityItems, applicationActivities: applicationActivities)
return controller
}
func updateUIViewController(_ uiViewController: UIActivityViewController, context: UIViewControllerRepresentableContext<ActivityViewController>) {}
}
import SwiftUI
struct ContentView: View {
@State private var showingActivityIndicator: Bool = false
var body: some View {
Button("Share swiswiswift.com") {
showingActivityIndicator = true
}
.sheet(isPresented: $showingActivityIndicator) {
ActivityViewController(activityItems: [URL(string: "https://swiswiswift.com")!])
}
}
}
#Preview {
ContentView()
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment