导航到另一个屏幕时,导航栏颜色显示白色一段时间,而原始颜色显示为红色

时间:2018-11-11 06:32:19

标签: swift uinavigationcontroller uikit uinavigationbar

我正在使用 MainController ,因为它包含带有一些示例单元格的tableView。我正在自定义导航栏,就像下面的 gif文件一样。

enter image description here

这是该文件的代码,用于自定义导航栏。我在 viewWillAppear 中称呼它。

navigationController?.navigationBar.setBackgroundImage(nil, for: .default)
navigationController?.navigationBar.shadowImage = nil

navigationController?.navigationBar.tintColor = .white
navigationController?.navigationBar.barTintColor = .red
navigationController?.navigationBar.titleTextAttributes = [NSAttributedString.Key.foregroundColor: UIColor.white]

当我单击一个单元格时,它将导航到 DetailsController 。这是我自定义导航栏的代码。我在 viewDidLoad 中称呼它。

navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
navigationController?.navigationBar.shadowImage = UIImage()
navigationController?.navigationBar.isTranslucent = true
let statusBarView = UIView(frame: UIApplication.shared.statusBarFrame)
let statusBarColor = UIColor.red
statusBarView.backgroundColor = statusBarColor
view.addSubview(statusBarView)

我的问题是,当我单击单元格时,我注意到在开始导航到另一个屏幕之前,导航栏首先将颜色更改为白色。看起来不太好。你知道如何解决吗?

谢谢。

0 个答案:

没有答案