如何从 SwiftUI 视图导航到 Storyboard VC?

时间:2021-05-20 06:40:44

标签: ios swift swiftui uikit

我创建了这个 SwiftUI 视图:

import SwiftUI

struct ContentView: View {
    var body: some View {
        NavigationView{
            MasterView()
        }.navigationViewStyle(DoubleColumnNavigationViewStyle())
    }
}

struct MasterView: View {
     var body: some View {
            Form {
                Section(header: Text("Geplant")) {
                    Section {
                        NavigationLink(destination: /* How can I navigate to a Storyboard ViewController?*/) { Text("Berlin") }

                    }
                
                }
            }
            .navigationBarTitle("Wähle Reise")
    }
}

如您所见,我想在“NavigationLink(destination: .....)”行导航到 Storyboard VC。

之前,我使用 UIKit VC 中的 UIHostingController 导航到 SwiftUI ContentView。

有人可以帮助我吗?

请随时向我索取其他代码/屏幕截图 :)

1 个答案:

答案 0 :(得分:1)

使用UIViewControllerRepresentable

struct UIKitView: UIViewControllerRepresentable {
    typealias UIViewControllerType = UIKitViewController

    func makeUIViewController(context: Context) -> UIKitViewController {
        let sb = UIStoryboard(name: "Main", bundle: nil)
        let viewController = sb.instantiateViewController(identifier: "UIKitViewController") as! UIKitViewController
        return viewController
    }
    
    func updateUIViewController(_ uiViewController: UIKitViewController, context: Context) {
        
    }
}

然后现在使用

NavigationLink(destination: UIKitView()) { Text("Berlin") }