Если вы собираетесь объединить UITabBarController
и UINavigationController
, то вам нужно, чтобы контроллер панели вкладок был контроллером корневого представления.При необходимости каждая вкладка может иметь свой собственный контроллер навигации.
Если вы сделаете контроллер навигации корневым, то, как только вы нажмете новый контроллер представления, панель вкладок исчезнет.Сделав панель вкладок корневым, вы можете иметь ряд навигационных иерархий и быстро переключаться между ними с помощью кнопок вкладок.
AppDelegate.swift
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
window = UIWindow(frame: UIScreen.main.bounds)
let journalVC = JournalViewController()
let navController = UINavigationController(rootViewController: journalVC)
let tabBarController = UITabBarController()
journalVC.tabBarItem = UITabBarItem(tabBarSystemItem: .favorites, tag: 0)
tabBarController.viewControllers = [journalVC]
window?.rootViewController = tabBarController
window?.makeKeyAndVisible()
return true
}
Нет необходимости в каком-либо определенном коде в классе контроллера представления.
JournalTableViewController.swift Фрагмент:
override func viewDidLoad() {
super.viewDidLoad()
}