在 Appdelegate 中设置后如何更改导航栏的色调?
Posted
技术标签:
【中文标题】在 Appdelegate 中设置后如何更改导航栏的色调?【英文标题】:How to change navigation bar tint color after setting in Appdelegate? 【发布时间】:2018-01-13 10:26:14 【问题描述】:我已经完成了以下操作来全局更改导航栏色调:
1) 在info.plist
中将View controller-based status bar appearance
设置为NO
2) 在 Appdelegate 中,我将颜色更改为黑色:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool
UINavigationBar.appearance().barTintColor = .black
这工作正常。所有视图控制器导航栏都变成黑色。我想要的是我的视图控制器之一(只有一个)导航栏颜色需要为白色。
所以我的问题是,是否可以在 AppDelegate 中设置后仅更改一个视图控制器的导航栏颜色?
【问题讨论】:
【参考方案1】:是的,你可以。即使在全局设置后更改导航栏颜色。
您可以在视图控制器中检查UINavigationBar
并设置色调颜色。
self.navigationController?.navigationBar.tintColor = UIColor.white
它将条形按钮项目的颜色设置为白色。
self.navigationController?.navigationBar.barTintColor = UIColor.red
它将导航栏颜色设置为红色。
所以AppDelegate
中设置的全局颜色将被视图控制器中导航栏的本地颜色覆盖
【讨论】:
以上是关于在 Appdelegate 中设置后如何更改导航栏的色调?的主要内容,如果未能解决你的问题,请参考以下文章