我在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
}
問題:假設標籤#應該有NavBarButton A和標籤#應該有NavBarButton B. 當我從標籤#切換到標籤#2,代碼工作正常; NavBarButton從A更改爲B. 但是,當我單擊Tab#1時,NavBarButton仍然爲B.
如何才能使導航欄按鈕相應更改,即使當我單擊選項卡時以前是?
我們創建一個TabBarController和(NavigationController>視圖控制器)爲每個標籤。所以你可以爲每個ViewController添加barButtonItem。 –
我已將代碼添加到我的答案中,請查看。 –