将场景中的 rootview 更改为视图控制器?

Posted

技术标签:

【中文标题】将场景中的 rootview 更改为视图控制器?【英文标题】:Changing rootview in scenedelegate to a viewcontroller? 【发布时间】:2020-08-14 15:50:41 【问题描述】:

我在构建这个应用程序时有点搞砸了。我没有使用 UIKit,而是使用了 SwiftUI,现在我有一个无法进入我的根视图的视图控制器。我想知道是否有人可以帮助这个?让我知道,谢谢。强文本是我收到 (Type 'ViewController.Type' cannot conform to 'View'; only struct/enum/class types can conform to protocols) 错误的地方。

   if let windowScene = scene as? UIWindowScene 
        let window = UIWindow(windowScene: windowScene)
        window.rootViewController = **UIHostingController(rootView: ViewController)**
        self.window = window
        window.makeKeyAndVisible()
    

【问题讨论】:

你只需要window.rootViewController = ViewController() 是的,谢谢! 【参考方案1】:

对于 SwiftUI

window.rootViewController = UIHostingController(rootView: ContentView())

对于斯威夫特

window.rootViewController = ViewController()

【讨论】:

以上是关于将场景中的 rootview 更改为视图控制器?的主要内容,如果未能解决你的问题,请参考以下文章

iOS 7:如何在一个视图控制器中将状态栏文本颜色更改为白色,在第二个视图控制器中更改为黑色?

主视图控制器在点击项目并快速将方向从纵向更改为横向后消失

如何将地图视图中已缩放的位置更改为当前设备位置

在 iOS 应用程序中更改 rootviews 视图类型

在视图控制器中看不到情节提要中的元素

将点更改为 UIPageViewController 的图像