繁体   English   中英

navigationBar标题变为默认的黑色,而不是我在viewWillAppear中设置的颜色

[英]navigationBar title goes to default black instead of the color I set in viewWillAppear

我一直在寻找解决此错误的方法,但一直无法解决。 我使用setUpBlueNavBarBar方法在其主视图控制器的viewWillAppear中设置navigationBar标题颜色。 问题在于,在我选择使用另一个视图控制器并返回主视图控制器之后,仅将largeTitleTextAttributes属性设置为白色,而不是常规的titleTextAttributes。 这两个属性都是以完全相同的方式设置的,因此,我不确定为什么回到主视图控制器时会设置大标题颜色,而常规标题又恢复为默认黑色。

我在主视图控制器的viewWillAppear中调用的方法是:

static func setUpBlueNavBarFor(_ viewController: UIViewController) {
    let whiteAttribute = [NSAttributedStringKey.foregroundColor: UIColor.white]
    if let navBar = viewController.navigationController?.navigationBar {
        navBar.barTintColor = UIColor(hexString: "0096FF")!
        navBar.tintColor = UIColor.white
        navBar.largeTitleTextAttributes = whiteAttribute
        navBar.titleTextAttributes = whiteAttribute
    }
}

这是我为显示错误而制作的gif的链接。 我无法在此处嵌入gif,因为这是我的第一篇文章: https : //imgur.com/6cNsZDH

为什么不将其放在viewDidLoad中?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM