【问题标题】:iOS 13.4 SDK update Navigation Bar title colour is set to Black?iOS 13.4 SDK更新导航栏标题颜色设置为黑色?
【发布时间】:2020-03-25 19:34:27
【问题描述】:

iOS 13.4 更新导航栏标题设置为黑色时遇到问题。在更新之前但在我将 Xcode 更新到 11.4 并将 iOS SDK 更新到 13.4 之后,标题在导航栏的属性检查器中设置为白色。

【问题讨论】:

  • 尝试设置字体?
  • @matt 它不起作用我试图在“标题文本属性”和“大标题文本属性”中设置字体:[.
  • 好的,好吧,和stackoverflow.com/questions/60848786/…一样,显然这是一回事。

标签: ios swift interface-builder


【解决方案1】:

Swift 5 IOS 13 有趣的事情 它只能在 viewDidLoad 和 viewWillAppear 中工作,而不能在 viewDidAppear 中工作

//MARK:- Call this function in viewDidLoad or viewWillAppear method
setNavBarWhite(viewController: self)

这是函数

func setNavBarWhite(viewController: UIViewController) {
    if #available(iOS 13.0, *) {
        let appearance = UINavigationBarAppearance()
        appearance.configureWithOpaqueBackground()
        appearance.backgroundColor = .red
        appearance.titleTextAttributes = [.foregroundColor: UIColor.white]
        viewController.navigationController?.navigationBar.standardAppearance = appearance
    } else {
        viewController.navigationController?.navigationBar.barTintColor = .red
    }
} 

【讨论】:

    【解决方案2】:

    在您所有的xibs 上,找到root navigation bar,并将他们的tint color 设置为default

    【讨论】:

      【解决方案3】:

      这是 Xcode Interface Builder 中的一个错误。 Apple 发布 Xcode 11.4.1 更新

      来自 Apple 开发者发布说明

      界面生成器

      修复了导致某些 UINavigationBar 外观属性的问题 在情节提要和 XIB 文档中设置以在构建时被忽略 Xcode 11.4。 (60883063) (FB7639654)

      https://developer.apple.com/documentation/xcode_release_notes/xcode_11_4_1_release_notes

      【讨论】:

      • 背景自定义颜色不适用于导航栏的背景颜色,如问题截图中的蓝色