Как перейти к указанному c контроллеру в навигационном контроллере - PullRequest
0 голосов
/ 25 февраля 2020

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

Вот мой стек: enter image description here

вот мой код:

             let storyboard = UIStoryboard(name: AppStoryboards.MAIN, bundle: Bundle.main)

                guard let controller = storyboard.instantiateViewController(withIdentifier: ViewControllerIdentifiers.THREAD_DETAIL_CONTROLLER) as? ThreadDetailController else {
                    return
                }

                controller.threadIdReceivedFromFeed = threadId as? String ?? String()

                self.window?.rootViewController = controller

вот фактический результат:

enter image description here

1 Ответ

1 голос
/ 25 февраля 2020

Вам необходимо добавить controller в качестве rootViewController для UINavigationController, а затем установить navigationController как window's rootViewController, то есть

    let storyboard = UIStoryboard(name: AppStoryboards.MAIN, bundle: nil)

    if let controller = storyboard.instantiateViewController(withIdentifier: ViewControllerIdentifiers.THREAD_DETAIL_CONTROLLER) as? ThreadDetailController {
        controller.threadIdReceivedFromFeed = (threadId as? String) ?? ""
        let navigationController = UINavigationController(rootViewController: controller) //here...
        self.window?.rootViewController = navigationController
    }
...