На экране входа в UITabBarController отсутствуют навигационные ссылки

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

В делегате приложения после успешного входа в систему я использую следующий код:

let myStoryBoard:UIStoryboard = UIStoryboard(name:"Main", bundle:nil)

let protectedPage = myStoryBoard.instantiateViewController(withIdentifier: "MainView") as! UITabBarController

let protectedPageNav = UINavigationController(rootViewController: protectedPage)

self.window?.rootViewController = protectedPageNav

Как я могу решить это?

рассказная доска

1 ответ

Решение

Согласно документации Apple, вы должны предпочтительно назначить UITabBarController в качестве корня UIWindow.

Так что измени свой код.

let myStoryBoard:UIStoryboard = UIStoryboard(name:"Main", bundle:nil)

let protectedPage = myStoryBoard.instantiateViewController(withIdentifier: "MainView") as! UITabBarController


//change UIViewAnimationOptions enum value and you will get some animation
UIView.transition(with: self.window!, duration: 0.34, options: UIViewAnimationOptions.transitionCrossDissolve, animations: {
            self.window?.rootViewController = protectedPage
        }, completion: {competion in

        })
Другие вопросы по тегам