在 iOS 13.4 上将 Xcode 升级到版本 11.4 (11E146) 后,barTintColor 仅通过情节提要发生变化。在代码中,更改被忽略。
self.navigationController.navigationBar.barTintColor = UIColor.redColor;
还有标题颜色的问题。
在 iOS 13.4 上将 Xcode 升级到版本 11.4 (11E146) 后,barTintColor 仅通过情节提要发生变化。在代码中,更改被忽略。
self.navigationController.navigationBar.barTintColor = UIColor.redColor;
还有标题颜色的问题。
我遇到了同样的问题,为我解决的问题是:
在情节提要上,为您的导航控制器将“条形色调”更改为其“默认”值,然后在您的代码上,您可以像往常一样更改它。
// For the navigation bar
navigationController?.navigationBar.barTintColor = .red
// For the title
let attributes = [NSAttributedString.Key.foregroundColor: UIColor.white ]
navigationController?.navigationBar.titleTextAttributes = attributes
我在 viewDidLoad() 中有代码
对我来说奇怪的是,它还解决了我在“状态栏”上遇到的问题。
这是 Xcode 11.4 中的一个错误。修复是升级到 Xcode 11.4.1。
发行说明中特别提到了该修复:https ://developer.apple.com/documentation/xcode_release_notes/xcode_11_4_1_release_notes
这是对 Xcode 如何为 UINavigationBar 编码这些属性的方式所做的更改——它们现在使用 iOS 13 中引入的 UINavigationBarAppearance API。
如果您修改 UINavigationBar 的 standardAppearance 而不是使用旧的外观 API,您应该得到您正在寻找的修改。