在iOS上将Xcode升级到11.4 (11E146)版本后,barTintColor仅通过故事板进行更改。在代码中,更改将被忽略。
self.navigationController.navigationBar.barTintColor = UIColor.redColor;
标题的颜色也有问题。

固定在Xcode 11.4.1:中

发布于 2020-03-26 04:20:24
我也有同样的问题,为我解决的是:
在故事板上,因为您的导航控制器将"Bar Tint“更改为”默认值“,然后在代码中您可以像往常一样更改它。
// For the navigation bar
navigationController?.navigationBar.barTintColor = .red
// For the title
let attributes = [NSAttributedString.Key.foregroundColor: UIColor.white ]
navigationController?.navigationBar.titleTextAttributes = attributes

我有viewDidLoad()中的代码

奇怪的是,它也解决了我与“状态栏”的问题。
发布于 2020-04-17 23:46:59
这是Xcode 11.4中的一个bug。修复方法是升级到Xcode 11.4.1。
该修复程序在发布说明:https://developer.apple.com/documentation/xcode_release_notes/xcode_11_4_1_release_notes中被特别调用。
发布于 2020-04-17 16:37:55
这是对Xcode为UINavigationBar - they编码这些属性的方式所做的更改,现在使用了iOS 13中引入的UINavigationBarAppearance API。
如果您修改了UINavigationBar的standardAppearance,而不是使用旧的外观API,那么您应该会得到您想要的修改。
https://stackoverflow.com/questions/60847296
复制相似问题