Swift / iOS-推送新的视图控制器时保留UINavigationItem

时间:2018-11-20 16:46:33

标签: ios swift uinavigationcontroller uinavigationbar uinavigationitem

在swift 4中是否有一种干净的方法可以在导航栏中保留与从一个UIViewController推送到另一个UIViewController时显示的UINavigationItems完全相同的内容。

这意味着当新的视图控制器推入堆栈时,我希望导航栏保持原样(包含所有相同的项目)

1 个答案:

答案 0 :(得分:1)

实际上它已经存在了很长时间。只需将rootViewController或currentVC设置为UINavigationBar的委托即可。

 class RootVC :  UIViewController, UINavigationBarDelegate{


   func navigationBar(_ navigationBar: UINavigationBar, shouldPush item: UINavigationItem) -> Bool{
    return false;
}

override func viewDidLoad() {
    super.viewDidLoad()
    navigationController?.navigationBar.delegate = self
}}