ios - iOS:只为UINavigationController的根目录隐藏一个viewcontroller的导航栏?

标签 ios swift multithreading uinavigationbar navigationbar

我只想隐藏一个viewcontroller的导航栏,它是UINavigationController的根viewcontroller。

目前,我正在使用以下代码隐藏特定ViewController的导航栏。

  • 要隐藏导航栏,
  •     override func viewWillAppear(_ animated: Bool) {
            self.navigationController?.isNavigationBarHidden = true
            super.viewWillAppear(animated)
        }
    
  • 要显示其他 View Controller 的导航栏,
  •     override func viewWillDisappear(_ animated: Bool) {
            self.navigationController?.isNavigationBarHidden = false
            super.viewWillDisappear(animated)
        }
    

    当我尝试使用此代码时,该应用程序在iOS 13设备中由于线程冲突而崩溃:应该是主线程。

    请检查使用上述代码隐藏导航栏时遇到的问题,

    iOS 13: threading violation: expected the main thread

    请让我知道是否还有其他方法可以仅对一个viewcontroller隐藏导航栏。

    最佳答案

    import UIKit
     class ViewController: UIViewController {
    
     override func viewWillAppear(_ animated: Bool){
        super.viewWillAppear(animated)
        self.navigationController?.isNavigationBarHidden = true
       }
     override func viewWillDisappear(_ animated: Bool){
        super.viewWillDisappear(animated)
        self.navigationController?.isNavigationBarHidden = false
       }
    

    }

    关于ios - iOS:只为UINavigationController的根目录隐藏一个viewcontroller的导航栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58336350/

    相关文章:

    iPhone- 从我的应用程序 iOS 6 打开设置

    ios - Segue相关函数

    ios - iOS 上的 GPS,不同手机之间的准确度如何?

    iOS 推送通知和 AppDelegate 方法行为

    ios - 如何以编程方式精确查找 PPI

    java - Android - 线程未执行

    ios - 如何用一次性发布者包装委托(delegate)模式?

    Java短路CompletableFuture

    c++ - 线程上的 'wait' 如何在 C++ 中实际工作

    ios - 使用 UICollectionViewCell 中的按钮,如何获取特定单元格的内容详细信息?