Я сделал UIViewControllerRepresentable для деформации UIActivityViewController в SwiftUI следующим образом:
struct ShareSheet: UIViewControllerRepresentable {
typealias Callback = (_ activityType: UIActivity.ActivityType?, _ completed: Bool, _ returnedItems: [Any]?, _ error: Error?) -> Void
let activityItems: [Any]
let applicationActivities: [UIActivity]? = nil
let excludedActivityTypes: [UIActivity.ActivityType]? = nil
let callback: Callback? = nil
func makeUIViewController(context: Context) -> UIActivityViewController {
let controller = UIActivityViewController(
activityItems: activityItems,
applicationActivities: applicationActivities)
controller.excludedActivityTypes = excludedActivityTypes
controller.completionWithItemsHandler = callback
return controller
}
func updateUIViewController(_ uiViewController: UIActivityViewController, context: Context) {
// nothing to do here
}
Проблема заключается в следующем: когда я передаю объект UIImage, он работает следующим образом:
ShareSheet(activityItems: [UIImage(named: "doc")!])
Но если Я передаю объект Image, он не работает, например:
ShareSheet(activityItems: [Image("doc")])
В моем приложении у меня есть только изображения в объекте Image, но не UIImage, поэтому я могу деформировать изображение в UIImage или я должен сделать что-то еще?