内部标签栏视图控制器导航栏更改不适用于情节提要

Inside tabbar viewcontrollers navigationbar changes not working from storyboard

我创建了

NavigationController(Main) - > LoginViewController -> Tabbarviewcontroller -> HomeViewController

如果我通过故事板在 HomeViewController 中添加条形按钮项目,它不会显示在模拟器中。

但我可以看到故事板的变化。

标题 Home1 和栏按钮项目未在模拟器中显示

首先你在 Navigation Controller 中隐藏了 Navigation Bar,然后在你添加你想要的 bar 之后创建自定义 bar。

您可以通过编程方式尝试

HomeViewController ---

override func viewWillAppear(animated: Bool) { 
    super.viewWillAppear(true) 
    let barButtomitem = UIBarButtonItem(barButtonSystemItem: .Done, target: self, action: #selector(handler)) 
    self.tabBarController?.navigationItem.rightBarButtonItem = barButtomitem
}

SecondItemViewController--

override func viewWillAppear(animated: Bool) {
    super.viewWillAppear(true)
    self.tabBarController?.navigationItem.rightBarButtonItem = nil
}

并且不要在情节提要中添加条形按钮...

试试这个代码: 在 Swift 3 中测试:

注意:删除所有 barButtonItems 并尝试以下代码。

将此代码添加到您的 Home1 VC:

override func viewWillAppear(_ animated: Bool) {
    let RightButtomitem = UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(handler)) 
    self.tabBarController?.navigationItem.rightBarButtonItem = RightButtomitem
}

func handler(sender:UIButton) {
    print("Add Button pressed")
}

将此代码添加到您的 Home2 VC:

override func viewWillAppear(_ animated: Bool) {
    let RightButtomitem = UIBarButtonItem(barButtonSystemItem: .done, target: self, action: #selector(handler)) 
    self.tabBarController?.navigationItem.rightBarButtonItem = RightButtomitem
}

func handler(sender:UIButton) {
     print("Done Button Pressed")
}

输出: