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