Отображение UIActivityViewController в SwitUI - PullRequest
2 голосов
/ 11 июня 2019

Я хочу, чтобы пользователь мог поделиться местоположением, но я не знаю, как показать UIActivityViewController в Swift UI

1 Ответ

2 голосов
/ 11 июня 2019

Вы можете попробовать перенести UIActivityViewController на SwiftUI следующим образом:

struct ActivityView: UIViewControllerRepresentable {

    let activityItems: [Any]
    let applicationActivities: [UIActivity]?

    func makeUIViewController(context: UIViewControllerRepresentableContext<ActivityView>) -> UIActivityViewController {
        return UIActivityViewController(activityItems: activityItems,
                                        applicationActivities: applicationActivities)
    }

    func updateUIViewController(_ uiViewController: UIActivityViewController,
                                context: UIViewControllerRepresentableContext<ActivityView>) {

    }
}

, но приложение вылетит при попытке отобразить его.

Я пытался: Modal, Popover и NavigationButton.

Чтобы проверить это:

struct ContentView: View {
    var body: some Body {
        EmptyView
        .presentation(Modal(ActivityView()))
    }
}

Кажется, его нельзя использовать с SwiftUI.

...