需要使用自定义导航栏时, 可以在一些恰当的时机将原生导航栏进行显示和隐藏.

有时候需求是某个上级 VC 需要使用原生导航栏, 而下级需要使用自定义导航栏的情况下, 就可以在下级 VC 中添加如下代码, 在不影响到上级的情况下实现原生导航栏的显示和隐藏.

直接上代码:

swift
override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    navigationController?.setNavigationBarHidden(true, animated: true)
}

override func viewWillDisappear(_ animated: Bool) {
    super.viewWillDisappear(animated)
    navigationController?.setNavigationBarHidden(false, animated: true)
}