Swift - навигационный контроллер и контроллер панели вкладок программно - PullRequest
0 голосов
/ 17 апреля 2019

Я программно кодирую приложение с панелью вкладок и контроллером навигации, я удалил раскадровку, приложение также работает нормально и показывает панель навигации, когда 'secondViewController' не является частью массива mainNavigationController.viewControllers, однако, когда я добавляю secondViewController, панель навигации не отображается в представлении. Что я мог сделать неправильно, что не отображается панель навигации? Должен ли я сделать mainNavigationController вместо rootViewController?

    let mainNavigationController = MainNavigationController()
    let mainTabBarController = MainTabBarController()
    let mainViewController = MainViewController()
    let secondViewController = SecondViewController()

    mainNavigationController.title = "Single Meal"
    secondViewController.title = "Group Meal"
    mainViewController.title = "Single Meal"

    mainNavigationController.viewControllers = [mainViewController, secondViewController]
    mainTabBarController.viewControllers = [mainNavigationController, secondViewController]

    window = UIWindow(frame: UIScreen.main.bounds)
    window?.makeKeyAndVisible()
    window?.rootViewController = mainTabBarController

1 Ответ

0 голосов
/ 19 апреля 2019

попробуйте это

let mainNavigationController = MainNavigationController()
let secondNavigationController = UINavigationController(rootViewController: secondViewController)
let mainTabBarController = UITabBarController()
let mainViewController = MainViewController()
let secondViewController = SecondViewController()

mainNavigationController.title = "Single Meal"
secondViewController.title = "Group Meal"
mainViewController.title = "Single Meal"

mainNavigationController.viewControllers = [mainViewController, secondViewController]

mainTabBarController.viewController = [mainNavigationController, secondNavigationController]

window = UIWindow(frame: UIScreen.main.bounds)
window?.makeKeyAndVisible()
window?.rootViewController = mainTabBarController

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...