Как я могу использовать UIViewController и UIView в SwiftUI? - PullRequest
0 голосов
/ 18 июня 2019

Я попытался интегрировать пользовательский UIViewController в приложение Swift, но я не смог интегрировать его с элементами SwiftUI, такими как Text (). Я получаю эту ошибку: функция объявляет непрозрачный тип возвращаемого значения, но не имеет в своем теле операторов возврата, из которых можно вывести базовый тип. Стоит ли использовать UIView вместо UIViewController?

1 Ответ

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

UIView и UIViewController могут быть реализованы в SwiftUI через их соответствующие классы, UIViewRepresentable и UIViewControllerRepresentable.

Учебные руководства Apple по SwiftUI идут по этому и другим путямоб интеграции UIKit в SwiftUI.

Учебники по SwiftUI: https://developer.apple.com/tutorials/swiftui/tutorials

Размещение UIView в SwiftUI с помощью UIViewRepresentable: https://developer.apple.com/tutorials/swiftui/creating-and-combining-views ^ см. раздел 5, в котором в качестве UIView используется MKMapView

Взаимодействие с UIKit: https://developer.apple.com/tutorials/swiftui/interfacing-with-uikit

Извините за отсутствие кода в моем ответе, я АФК прямо сейчас.Однако лучший способ научиться - это , чтобы выследить и разобраться во всем самостоятельно.Надеюсь, это поможет!

Обновление

Если вы хотите интегрировать SwiftUI в существующее приложение UIKit, изучите использование UIHostingController.Он работает следующим образом:

UIHostingController(rootView: MySwiftUIStruct())

https://developer.apple.com/documentation/swiftui/uihostingcontroller

Он позволяет вам размещать содержимое SwiftUI в приложении UIKit, как если бы вы помещали в него UIView или UIViewController.

...