Я работаю над приложением, в котором пользователю показывается Логин, после успешного входа пользователь попадает на панель управления. где показаны 4 вкладки для перехода к соответствующему использованию. Я должен использовать UITabBarController
для четырех вкладок на приборной панели и UINavigationController
для навигации из LoginView.
Я установил свой UITabBarController на navigationController, когда пользователь успешно вошел в систему. Каждое представление будет иметь одну кнопку выхода из системы, на щелчок, для которого я должен установить свой navigationcontroller
обратно на root.
Вот пример кода, который я сделал.
Мой UITabBarController
class TabBarV C: UITabBarController {
let dashboardViewObj = DashboardVC()
let registerViewObj = RegisterVC()
let alertViewObj = AlertVC()
let historyViewObj = HistoryVC()
override func viewDidLoad() {
super.viewDidLoad()
self.viewControllers = [dashboardViewObj, registerViewObj,historyViewObj,alertViewObj]
// Do any additional setup after loading the view.
dashboardViewObj.tabBarItem = UITabBarItem(tabBarSystemItem: .search, tag: 0)
registerViewObj.tabBarItem = UITabBarItem(tabBarSystemItem: .history, tag: 0)
historyViewObj.tabBarItem = UITabBarItem(tabBarSystemItem: .contacts, tag: 0)
alertViewObj.tabBarItem = UITabBarItem(tabBarSystemItem: .bookmarks, tag: 0)
}
В моем LoginViewContoller
let tabbarObj = TabBarV C ()
@IBAction func loginBtnClicked(_ sender: Any) {
self.navigationController?.setViewControllers([tabbarObj], animated: true)
}
Теперь при нажатии кнопки выхода из любого из этих представлений мне нужно установить navigationController как root. Как это сделать ...?
Следующая таблица поможет понять, что мне нужно. Будет оказана любая помощь.
![enter image description here](https://i.stack.imgur.com/jFRIJ.png)