我有一個UITabBar
。在一個選項卡中是UINavigationController
。比方說,在堆棧中的第二或第三UIViewController
有這樣的:無法更新導航欄時彈出到根視圖控制器
class ChildVC: UIViewController {
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
navigationController?.setNavigationBarHidden(true, animated: false)
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
navigationController?.setNavigationBarHidden(false, animated: false)
}
}
如果您單擊當前選項卡它將popToRootViewController()
導航控制器上。問題是,在我目前標籤viewWillDisappear(:)
中,navigationController
爲零。所以導航欄保持隱藏狀態。
處理這個問題的正確方法是什麼?我是否應該將導航欄設置爲在根視圖控制器的viewDidAppear
中可見?這似乎很難。
您正在使用TabBarController嗎? –
如果您想要隱藏導航欄,爲什麼不直接顯示視圖控制器。 – ovo
@ReinierMelian是的。 – garretriddle