На экране входа в 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
})