我在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。 –
我已将代码添加到我的答案中,请查看。 –