Как показать ViewController (не модально) в UITabViewController

Я хочу показать ViewController внутри UITabController, но не отображать его модально. В приложении есть домашний экран с кучей кнопок, которые переключаются на другие ViewControllers. Другие контроллеры представления встроены в контроллер навигации. Теперь мне нужно показать один из ViewControllers из TodayExtension. В моем делегате приложения у меня есть это, но он представляет RequestorViewContoller модально без структуры вкладки или элемента управления навигацией.

    let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
    let requestor = mainStoryboard.instantiateViewController(withIdentifier: "RequestStoryboardID") as! RequestorViewController
    let rootViewController = self.window!.rootViewController as! UITabBarController
    rootViewController.present(requestor, animated: false, completion: nil)

1 ответ

Решение

Как то, что вы упоминаете, если selectedViewController из UITabBarController это UINavigationControllerВы могли бы сделать pushViewController вместо.

Во-первых, вам нужно вывести текущее на экран UINavigationController, Затем выполните pushViewController с requestor в качестве параметра.

presentedNavigationController = rootViewController.selectedViewController as! UINavigationController
presentedNavigationController.pushViewController(requestor, animated: true)
Другие вопросы по тегам