ActivityView.swift 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. //
  2. // ActivityView.swift
  3. // OmniKit
  4. //
  5. // Created by Joe Moran on 9/17/23.
  6. // Copyright © 2023 LoopKit Authors. All rights reserved.
  7. //
  8. import SwiftUI
  9. struct ActivityView: UIViewControllerRepresentable {
  10. @Binding var isPresented: Bool
  11. let activityItems: [Any]
  12. func makeUIViewController(context: UIViewControllerRepresentableContext<ActivityView>) -> UIActivityViewController {
  13. let controller = UIActivityViewController(activityItems: activityItems, applicationActivities: nil)
  14. controller.completionWithItemsHandler = { (_, _, _, _) in
  15. self.isPresented = false
  16. }
  17. return controller
  18. }
  19. func updateUIViewController(_ uiViewController: UIActivityViewController, context: UIViewControllerRepresentableContext<ActivityView>) {
  20. }
  21. }
  22. fileprivate struct ActivityViewController: UIViewControllerRepresentable {
  23. var activityItems: [Any]
  24. var applicationActivities: [UIActivity]? = nil
  25. func makeUIViewController(context: UIViewControllerRepresentableContext<ActivityViewController>) -> UIActivityViewController {
  26. return UIActivityViewController(activityItems: activityItems, applicationActivities: applicationActivities)
  27. }
  28. func updateUIViewController(_ uiViewController: UIActivityViewController, context: UIViewControllerRepresentableContext<ActivityViewController>) {}
  29. }