如何在Appdelegate中设置后更改导航栏色调颜色?

时间:2018-01-13 10:26:15

标签: ios swift4

我已完成以下操作以全局更改导航栏色调颜色:

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更改导航栏颜色?

1 个答案:

答案 0 :(得分:0)

是的,你可以。即使在全局设置后也会更改导航栏颜色。

您可以在视图控制器中检查UINavigationBar并设置色调颜色。

self.navigationController?.navigationBar.tintColor = UIColor.white 

它会将条形按钮项目颜色设置为白色。

self.navigationController?.navigationBar.barTintColor = UIColor.red

它会将导航栏颜色设置为红色。

因此,AppDelegate中的全局颜色集将被视图控制器中导航栏的本地颜色覆盖