我已完成以下操作以全局更改导航栏色调颜色:
1)将View controller-based status bar appearance
设置为NO
info.plist
2)在Appdelegate中,我将颜色更改为黑色:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
UINavigationBar.appearance().barTintColor = .black
}
这个工作正常。所有视图控制器导航栏都变为黑色。我想要的是我的一个视图控制器(只有一个)导航栏颜色需要为白色。
所以我的问题是,在AppDelegate中设置后,是否可以仅为一个View Controller更改导航栏颜色?
答案 0 :(得分:0)
是的,你可以。即使在全局设置后也会更改导航栏颜色。
您可以在视图控制器中检查UINavigationBar
并设置色调颜色。
self.navigationController?.navigationBar.tintColor = UIColor.white
它会将条形按钮项目颜色设置为白色。
self.navigationController?.navigationBar.barTintColor = UIColor.red
它会将导航栏颜色设置为红色。
因此,AppDelegate
中的全局颜色集将被视图控制器中导航栏的本地颜色覆盖