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

Swift / iOS - Preserve UINavigationItem when pushing new view controller

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

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

其实已经存在很久了。只需将 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
}}