【问题标题】:UINavigationBar text colour stays white after pop弹出后 UINavigationBar 文本颜色保持白色
【发布时间】:2018-10-27 13:35:13
【问题描述】:

我正在将一个视图控制器推到我的导航控制器上,它将导航栏设置为具有透明背景和白色文本。当视图被弹出时,它应该将导航栏恢复到它以前的样子——白色背景和黑色文本。然而,这并没有发生。我正在推送的视图代码:

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    navigationController?.navigationBar.shadowImage = UIImage()
    navigationController?.navigationBar.barStyle = .black
    navigationController?.navigationBar.tintColor = .white
    navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
    navigationController?.navigationBar.isTranslucent = true
    navigationController?.navigationBar.backgroundColor = .clear
    navigationController?.view.backgroundColor = .clear
    setNeedsStatusBarAppearanceUpdate()
}

override func viewWillDisappear(_ animated: Bool) {
    super.viewWillDisappear(animated)
    navigationController?.navigationBar.shadowImage = nil
    navigationController?.navigationBar.barStyle = .default
    navigationController?.navigationBar.tintColor = .black
    navigationController?.navigationBar.setBackgroundImage(nil, for: .default)
    navigationController?.navigationBar.isTranslucent = false
    navigationController?.navigationBar.backgroundColor = .white
    navigationController?.view.backgroundColor = .white
    setNeedsStatusBarAppearanceUpdate()
}

当我弹回根视图控制器时,标题的颜色是白色。这应该是黑色的。为什么会这样?

【问题讨论】:

  • 尝试更改navigationController?.navigationBar.titleTextAttributes
  • 在根视图控制器的 viewWillAppear 中使用 viewWillDisappear 的那些代码。
  • @AntonBelousov 已经尝试过“重复”的答案,它不起作用,仍然产生相同的结果。我现在实际上已经放弃了,只是在navigationBartitleView 中添加了一个UILabel

标签: ios swift


【解决方案1】:

实际上Antons的建议是正确的,this post实际上帮助我解决了我的问题,它有同样奇怪的行为,但还有一步要实现:

从帖子中您会看到建议使用以下代码:

 let titleDict: NSDictionary = [NSAttributedString.Key.foregroundColor: UIColor.black]
        self.navigationController!.navigationBar.titleTextAttributes = (titleDict as! [NSAttributedString.Key : Any])

但您需要记住将其放在viewDidLoad 函数中。

希望它可以帮助某人:)

【讨论】:

    猜你喜欢
    • 2014-08-15
    • 1970-01-01
    • 1970-01-01
    • 2023-02-25
    • 2014-08-30
    • 1970-01-01
    • 2010-11-22
    • 2014-04-07
    • 1970-01-01
    相关资源
    最近更新 更多