问题描述
我有一个 SwiftUI url
,它是从View
中的场景委托实例化的
我想从 SwiftUI UINavigationController
UIViewController
“我的场景委托”显示了如何实例化我的View
:
View
我该如何实现?
解决方法
您必须将 let vc = UIHostingController(rootView:SwiftUIView())
let navigationControll = UINavigationController(rootViewController: vc)
self.window?.rootViewController = navigationControll
// Present window to screen
self.window?.makeKeyAndVisible()
包装在SwiftUI UIViewController
中,然后导航到该位置。
例如
View
并在struct MyMasterViewController: UIViewControllerRepresentable {
func makeUIViewController(context: Context) -> MasterViewController {
var sb = UIStoryboard(name: "Main",bundle: nil)
var vc = sb.instantiateViewController(identifier: "MasterViewController") as! MasterViewController
return vc
}
func updateUIViewController(_ uiViewController: MasterViewController,context: Context) {
}
typealias UIViewControllerType = MasterViewController
}
中通过SwiftUI NavigationLink
像这样简单地调用
View
了解有关在SwiftUI here中包装ViewController的更多信息