Search code examples
iosswiftnavigationuinavigationcontrolleruinavigationbar

Struggle with UINavigationController


I was struggle with UINavigationController for many hours since it refused to show any title or even titleView, BackItem?.title, everything not work. I can see navigation bar on top, just blank. Here my codes:

class tab1_main: UIViewController {
    var main_nav_controller = UINavigationController()
    override func viewDidLoad() {
        main_nav_controller.navigationBar.backItem?.title = "Hello" //NO LUCK
        main_nav_controller.navigationBar.topItem?.title = "Hello" //NO LUCK
        main_nav_controller.title = "Hello" //NO LUCK
        self.title = "Hello" //NO LUCK
        navigationItem.title = "Hello" //NO LUCK

        view.addSubview(main_nav_controller.view)
        tab1_startup()
    }
}

Solution

  • put tab1_main viewController on bottom of your navigationController view stacks instead of create a navigationController inside your tab1_main view Controller.

        let tab1_main = UIViewController()
        let main_nav_controller = UINavigationController(rootViewController: tab1_main)