从UIKit迁移到SwiftUI

pnwntuvh  于 2023-03-16  发布在  Swift
关注(0)|答案(1)|浏览(171)

我有一个继承自BaseViewController的视图控制器,现在我将UIKit转换为SwiftUI,我需要我的类继承SwiftUIView类。
之前:

class CountryLanguageViewController: BaseViewController {}

之后:

class CountryLanguageViewController: UIHostingController<SelectCountrySwiftUIView> {}

我不能有多重继承这里与baseVC和SwiftUI类。但我也希望的东西是继承自BaseVC。这是如何实现的?

huus2vyu

huus2vyu1#

看来你想反过来做:
您需要使用SwiftUI使您的UIKIt CountryLanguageViewController“呈现”。您可以使用UIViewControllerRepresentable实现此目的
因此,您的代码将类似于:

struct SelectCountrySwiftUIView: UIViewControllerRepresentable {

    func makeUIViewController(context: Context) -> CountryLanguageViewController {
        CountryLanguageViewController()
    }

    func updateUIViewController(_ uiViewController: CountryLanguageViewController, context: Context) {
        // NO OP
    }
}

相关问题