Можем ли мы изменить контроллер корневого представления как Storybord После создания проекта в SwiftUI? - PullRequest
0 голосов
/ 03 июля 2019

Я попытался выполнить следующие действия:

  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 голосов
/ 08 июля 2019

Используя Xcode 11 beta 3, я могу надежно получить раскадровку, работающую в качестве корневого контроллера представления в новом проекте SwiftUI, со следующими шагами:

  1. Закомментируйте код в SceneDelegate scene(willConnectTo:) функция.

  2. Создайте новый Main.storyboard, добавьте контроллер представления и установите на нем «Is Initial View Controller».

  3. Выберите Info.plist для цели iOS, щелкните правой кнопкой мыши «Открыть как» -> «Исходный код».

  4. Добавьте клавиши UISceneStoryboardFile и UIMainStoryboardFile, как показано здесь:

Info.plist snippet

Настройка основного интерфейса в разделе Информация о развертывании цели только устанавливает ключ UIMainStoryboardFile, но я должен был установить оба, чтобы получитьчтобы он работал правильно.

...