我只想隐藏一个viewcontroller的导航栏,它是UINavigationController的根viewcontroller。
目前,我正在使用以下代码隐藏特定ViewController的导航栏。
override func viewWillAppear(_ animated: Bool) {
self.navigationController?.isNavigationBarHidden = true
super.viewWillAppear(animated)
}
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/