【发布时间】:2019-03-30 01:48:51
【问题描述】:
我面临的问题是在 swift 中设置一个 ViewController 的标题的字体颜色并在它消失时重置它。目前我可以将颜色从黑色设置为白色:
override func viewDidLoad() {
let textAttributes = [NSAttributedStringKey.foregroundColor:UIColor.white]
navigationController?.navigationBar.titleTextAttributes = textAttributes
}
override func viewWillDisappear(_ animated: Bool) {
let textAttributes = [NSAttributedStringKey.foregroundColor:UIColor.black]
navigationController?.navigationBar.titleTextAttributes = textAttributes
}
当我尝试使用 UIColor.black 进行重置时,它不会改变任何东西。
当我尝试设置整个外观时,根本没有任何变化。
override func viewDidLoad() {
UINavigationBar.appearance().titleTextAttributes = [NSAttributedStringKey.foregroundColor : UIColor.white]
}
override func viewWillDisappear(_ animated: Bool) {
UINavigationBar.appearance().titleTextAttributes = [NSAttributedStringKey.foregroundColor : UIColor.black]
}
我怎样才能做到这一点? 使用 Xcode 10.0 斯威夫特 4
【问题讨论】:
-
你好菲利克斯!那么,您具体要更改哪个视图的颜色?你可以再详细一点吗?或者甚至发布一张图片,这会很有帮助
-
对不起,我忘了提这个。我正在尝试在 UINavigationBar 中设置标题的颜色。这种颜色只能在一个特定的 ViewController 中使用
-
另一个问题:你在使用故事板吗?如果是,您是否在 .storyboard 中设置了任何色调或相关内容?
-
我正在使用情节提要并在代码中设置所有颜色。在带有白色标题的 ViewController 中,我需要从 NavigationBar 中删除所有背景(ShadowImage、BackgroundImage),因为我需要非常特定的颜色。
-
从 viewController 生命周期中重写方法时,不要忘记始终调用超级方法。
标签: ios swift uinavigationbar swift4 navigationbar