Swift 3.0に5つのタブを持つカスタムUITabBarControllerを作成しました。特定のタブに対して異なるナビゲーションバーの項目を設定しようとしていましたが、うまく機能しません。Swift:異なるタブ用に異なるナビゲーションバーボタンを設定する
状況:各タブのviewDidLoad()でナビゲーションバーボタンを変更するコードを配置しました。
//The customized Tab Bar controller instance. Contained in each of the tabs.
var mainController: TabBarController?
override func viewDidLoad() {
// ... more code
setupNavBar()
// ... more code
}
func setupNavBar() {
// ... more code
mainController?.navigationItem.leftBarButtonItem = UIBarButtonItem(image: friendsImage, style: .plain, target: self, action: #selector(handleFindFriends))
// ... more code
}
問題:私はタブ#2にタブ#1から切り替えるとNavBarButton B. を持っていることになっている、コードが正常に動作しますのは、タブ#1がNavBarButton Aおよびタブ#2を持っていることになっているとしましょう。 NavBarButtonがAからBに変更されます。 しかし、Tab#1をクリックすると、NavBarButtonはまだBのままです。
タブをクリックしてもナビゲーションバーのボタンが変わるようにする方法以前は?
は、各タブの1 TabBarControllerと(NavigationController>のViewController)を作成してみましょう。したがって、各ViewControllerにbarButtonItemを追加できます。 –
私の答えにコードを追加しました。どうぞご覧ください。 –