Tusker/Tusker/Screens/Main/MainTabBarViewController.swift

47 lines
1.5 KiB
Swift
Raw Normal View History

2018-08-21 21:17:25 +00:00
//
// MainTabBarViewController.swift
// Tusker
//
// Created by Shadowfactson 8/21/18.
// Copyright © 2018 Shadowfacts. All rights reserved.
//
import UIKit
2019-01-05 17:59:55 +00:00
class MainTabBarViewController: UITabBarController, UITabBarControllerDelegate {
2018-08-21 21:17:25 +00:00
lazy var router = AppRouter(root: self)
2018-08-21 21:17:25 +00:00
override func viewDidLoad() {
super.viewDidLoad()
2019-01-05 17:59:55 +00:00
self.delegate = self
viewControllers = [
embedInNavigationController(TimelineTableViewController(for: .home, router: router)),
embedInNavigationController(NotificationsTableViewController(router: router)),
ComposeViewController(router: router),
embedInNavigationController(TimelineTableViewController(for: .public(local: false), router: router)),
embedInNavigationController(MyProfileTableViewController(router: router)),
]
2018-08-21 21:17:25 +00:00
}
func embedInNavigationController(_ vc: UIViewController) -> UINavigationController {
if let vc = vc as? UINavigationController {
return vc
} else {
return UINavigationController(rootViewController: vc)
}
}
2018-08-31 02:30:19 +00:00
2019-01-05 17:59:55 +00:00
func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool {
if viewController is ComposeViewController {
let compose = embedInNavigationController(ComposeViewController(router: router))
tabBarController.present(compose, animated: true)
return false
}
return true
}
2018-08-21 21:17:25 +00:00
}