Я создаю приложение для социальных сетей, которое позволяет пользователям входить в систему. При входе в систему я бы хотел, чтобы пользователи переходили на главную страницу с TabBarController внизу и панелью навигации вверху.Я создал TabBar программно и установил его как мой rootviewcontroller внутри моего делегата приложений.Когда я создаю свое приложение, оно работает нормально и показывает контроллер представления с панелью вкладок и панелью навигации вверху.
Однако, если я выйду из системы и снова войду в нее, это деформирует вид, заставляя навигационную панель исчезнуть и нажав мою панель поиска вниз.
Я оставлю картинки, чтобы объяснить.Я попытался изменить свои контроллеры navcontrollers для входа в систему на
let mainController = UINavigationController(rootViewController: CustomTabBarController())
self.present(mainController, animated: true, completion: nil)
на
let mainController = UINavigationController(rootViewController: mainViewController())
self.present(mainController, animated: true, completion: nil)
, и когда я сделаю это изменение, контроллер tabBar исчезнет.
Мой контроллер основного вида настроен как UIViewController, а мой TabBarCode выглядит следующим образом.
class CustomTabBarController: UITabBarController {
override func viewDidLoad() {
super.viewDidLoad()
self.tabBar.barTintColor = GREEN_Theme
self.tabBar.isTranslucent = true
self.tabBar.tintColor = .white
let mainController = UINavigationController(rootViewController: mainViewController())
mainController.tabBarItem.title = "Odd Jobs"
mainController.tabBarItem.image = UIImage(named: "job-search")
let settingsController = UINavigationController(rootViewController: SettingsViewController())
settingsController.tabBarItem.title = "Settings"
settingsController.tabBarItem.image = UIImage(named: "settings")
let notificationsController = UINavigationController(rootViewController: notificationsViewController())
notificationsController.tabBarItem.title = "Notifications"
notificationsController.tabBarItem.image = UIImage(named: "notification")
let messagesController = UINavigationController(rootViewController: MessagesController())
messagesController.tabBarItem.title = "Messages"
messagesController.tabBarItem.image = UIImage(named: "chat")
let historyController = UINavigationController(rootViewController: jobhistoryViewController())
historyController.tabBarItem.title = "Job History"
historyController.tabBarItem.image = UIImage(named: "history")
viewControllers = [historyController, notificationsController, mainController, messagesController, settingsController]
self.selectedIndex = 2
return
}
Моя цель - заставить пользователей войти в систему и увидеть панель вкладок с панелью навигации.Я что-то упустил или не реализовал должным образом?