在SwiftUI中创建项目后,能否将根视图控制器更改为Storybord吗?

时间:2019-07-03 05:58:50

标签: ios swiftui xcode11

我尝试关注

  1. 在SceneDelegate中替换以下代码

    let window = UIWindow(frame: UIScreen.main.bounds)
    window.rootViewController = UIHostingController(rootView: ContentView())
    self.window = window
    window.makeKeyAndVisible()
    

代替

guard let _ = (scene as? UIWindowScene) else { return }

还将“主界面”设置为情节提要和入口点。

  

问题:启动后出现黑屏启动屏幕

1 个答案:

答案 0 :(得分:0)

使用Xcode 11 beta 3,我可以通过以下步骤可靠地将故事板用作新SwiftUI项目中的根视图控制器:

  1. 注释掉SceneDelegate的scene(willConnectTo:)函数中的代码。

  2. 创建一个新的Main.storyboard,添加一个视图控制器,并在其上设置“是初始视图控制器”。

  3. 为iOS目标选择Info.plist,右键单击“另存为”->“源代码”。

  4. 添加UISceneStoryboardFileUIMainStoryboardFile键,如下所示:

Info.plist snippet

在目标的“部署信息”部分中设置主界面仅设置了UIMainStoryboardFile键,但我必须同时设置两者才能使其正常工作。