在界面生成器中自定义UINavigationBar
(特别是自定义栏的barTintColor
和标题文本颜色(在iOS 13中似乎变得非常bug。
以下是我在界面生成器中尝试执行此操作的视频:https://youtu.be/fQPjKv0yrk8
长话短说,如果同时设置导航栏的barTintColor
和标题文本颜色(大标题或常规标题(,则标题颜色将被忽略。
使用超类UIView
的backgroundColor
似乎也有问题。对于如何进行自定义导航栏,是否有明确的答案?或者它们只是变得有缺陷,而有必要采用有缺陷的解决方案?
更新:这似乎是Xcode 11.4中的一个问题,据说在Xcode 11.4.1:中已经解决
Xcode 11.4.1发布说明中的报价:
接口生成器修复了一个问题,该问题导致在使用Xcode 11.4构建时忽略故事板和XIB文档中设置的某些UINavigationBar外观属性。(60883063((FB7639654(
然而,它似乎还没有为我解决,我描述的问题仍在发生。
适用于我Xcode版本11.3(11C29(似乎是Xcode中的一个bug,用代码试试这个在视图中DidLoad((
navigationController?.navigationBar.titleTextAttributes = [NSAttributedString.Key.foregroundColor : UIColor.red]
navigationController?.navigationBar.barTintColor = .yellow
如果标题较大,则将titleTextAttributes替换为largeTitleTextAttributes