代码之家  ›  专栏  ›  技术社区  ›  Zigglzworth

swift/ios-推送新视图控制器时保留uinavigationitem

  •  1
  • Zigglzworth  · 技术社区  · 6 年前

    在斯威夫特4号有没有一个干净的方法来保持完全相同 UINavigationItems 在从一个uiviewcontroller推到另一个uiviewcontroller时显示的导航栏中。

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

    1 回复  |  直到 6 年前
        1
  •  1
  •   E.Coms    6 年前

    实际上它在那里很长一段时间了。只需将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
    }}