6

在 iOS 13.4 上将 Xcode 升级到版本 11.4 (11E146) 后,barTintColor 仅通过情节提要发生变化。在代码中,更改被忽略。

self.navigationController.navigationBar.barTintColor = UIColor.redColor;

还有标题颜色的问题。

在此处输入图像描述

在 Xcode 11.4.1 中修复: 在 Xcode 11.4.1 中修复

4

3 回答 3

10

我遇到了同样的问题,为我解决的问题是:

在情节提要上,为您的导航控制器将“条形色调”更改为其“默认”值,然后在您的代码上,您可以像往常一样更改它。

    // For the navigation bar
    navigationController?.navigationBar.barTintColor = .red

    // For the title
    let attributes = [NSAttributedString.Key.foregroundColor: UIColor.white ]
    navigationController?.navigationBar.titleTextAttributes = attributes

在此处输入图像描述

我在 viewDidLoad() 中有代码

在此处输入图像描述

对我来说奇怪的是,它还解决了我在“状态栏”上遇到的问题。

于 2020-03-26T04:20:24.393 回答
0

这是 Xcode 11.4 中的一个错误。修复是升级到 Xcode 11.4.1。

发行说明中特别提到了该修复:https ://developer.apple.com/documentation/xcode_release_notes/xcode_11_4_1_release_notes

于 2020-04-17T23:46:59.753 回答
-1

这是对 Xcode 如何为 UINavigationBar 编码这些属性的方式所做的更改——它们现在使用 iOS 13 中引入的 UINavigationBarAppearance API。

如果您修改 UINavigationBar 的 standardAppearance 而不是使用旧的外观 API,您应该得到您正在寻找的修改。

于 2020-04-17T16:37:55.570 回答