用户切换选项卡栏项后,导航项未更新

时间:2017-10-18 09:20:12

标签: ios swift navigationcontroller

我有一个带有4个子视图控制器的标签栏控制器。每次用户切换标签栏时,右上角的导航项都应该更改。除了一个场景(用户从第三个选项卡开始)之外,它们确实会发生变化。

enter image description here

我必须承认我正在更改标签栏控制器导航栏的导航项。我没有使用四种不同的导航控制器+视图控制器。

// called in viewWillAppear
internal func setupNavigationBar() {
    title = "Meeting"

    if let tabBarVC = parent as? ProjectTabBarController {
        tabBarVC.navigationItem.leftBarButtonItems = nil
        tabBarVC.navigationItem.rightBarButtonItems = nil

        tabBarVC.navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(didTapCreateMeeting))
    }
}

1 个答案:

答案 0 :(得分:2)

使用此代码隐藏barButtonItems代替:

self.navigationItem.setLeftBarButton(nil, animated: true)
self.navigationItem.setRightBarButton(nil, animated: true)

然后重新设置并执行您想做的任何操作,并确保在viewDidAppear中设置这些内容以确保您的视图已更新