UITabBarControllerとNavigationControllerを併用するときの注意

私のリリースリているRubiというアプリを開発している時に、NavigationControllerのtitleをセットするとTabBarControllerのボタンにタイトルがついてしまう事象が発生していました。

問題が起こっていたコード

//UITabBarControllerの中でボタンをセットしているところ
firstViewController.tabBarItem = UITabBarItem(title: "home", image: #imageLiteral(resourceName: "home"), selectedImage: #imageLiteral(resourceName: "home"))
        viewControllers.append(firstViewController)
//ViewController 
title = "Rubi検索"

このように設定していました。UITabBarItemにSystemアイコンを使っている時は勝手にタイトルが登録されることがないので任意のものが表示されますが、独自のアイコンをセットしたらこのようになってしまいました。

解決策

解決策は単純で、navigationItemのtitleと指定することで治ります!

 self.navigationItem.title = "Rubi 翻訳"