ios - 如何在 Swift 的第一个 ViewController 中隐藏导航栏?

标签 ios swift uinavigationcontroller uinavigationbar

如何快速隐藏第一个 ViewController 或特定 ViewController 的导航栏?

我在 viewDidLoad() 中使用了以下代码:

override func viewDidLoad() {
    super.viewDidLoad()
    self.navigationController?.isNavigationBarHidden = true
}

还有 viewWillAppear:

override func viewWillAppear(animated: Bool) {
    self.navigationController?.isNavigationBarHidden = true
}

这两种方法都对所有 ViewController 隐藏导航 Controller 。

最佳答案

如果您知道所有其他 View 都应该使栏可见,您可以使用 viewWillDisappear 将其再次设置为可见。

在 Swift 中:

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

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

关于ios - 如何在 Swift 的第一个 ViewController 中隐藏导航栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29209453/

相关文章:

ios - 使用 UINavigationController 边缘滑动时 CABasicAnimation 重置

ios - 如何让容器 View 受到 UINavigationBar 的影响

iphone - 如何使 UINavigationController 的 Navigation Bar 显示在底部?

android - 重用 Android 布局

jquery <video> .play 无法在移动设备上运行

ios - SwiftUI:您如何关闭工作表并从 ContentView 启动不同的工作表?

ios - 自定义 inputaccessoryView 中的 UITextView 不放弃第一响应者状态

iOS swift : Generic array cast to array of subclass

ios - SwiftUI @FocusState - 如何赋予它初始值

ios - iOS 中的 URL 解码