簡體   English   中英

如何隱藏特定View Controller的導航欄?

[英]How can I hide navigation bar of a specific View Controller?

我正在嘗試的是使用NavigationController設置一個ViewController (根),該NavigationController將與三個ViewController連接。

鏈接的ViewController兩個必須在每個屏幕的頂部都有一個NavigationBar 另一個不需要Navigation bar 此外,根View Controller不必具有Navigation bar

我在根View Controller上隱藏了NavigationBar ,如下所示:

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

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

但我無法在不必具有Navigation bar的鏈接的View Controller上隱藏Navigation bar

我也嘗試過在View ControllerviewDidLoad函數中使用以下方法隱藏Navigation bar

self.navigationController?.setNavigationBarHidden(false, animated: true)

Navigation bar仍在顯示。

如何隱藏特定View Controller上的Navigation bar

提前致謝!

您可以這樣嘗試:-

override func viewWillAppear(animated: Bool) {
     super.viewWillAppear(animated)
    self.navigationController!.navigationBarHidden = true
}

override func viewWillDisappear(animated: Bool) {
  super.viewWillDisappear(animated)
    self.navigationController!.navigationBarHidden = false

}

在viewDidAppear中嘗試以下代碼:

self.navigationController?.navigationBarHidden = true

您犯錯了,問題是您在viewDidLoad設置了false來隱藏navigationBar ,您需要設置true而不是false ,還可以嘗試使用viewDidAppear

self.navigationController?.setNavigationBarHidden(true, animated: true)  

在viewDidAppear方法中使用以下代碼

self.navigationController?.setNavigationBarHidden(true, animated: true)  

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM