ios - 如何设置所有 View Controller 导航栏的默认导航栏颜色、文本颜色

标签 ios swift

我有 12 个带导航栏的 View Controller 。但是我需要在一个地方声明导航栏颜色为绿色,所有标题文本、栏按钮颜色为黑色。因此,对于我所有的 View Controller ,我需要将这两个设置为情况。

但是当我设置某些 View Controller 时,它不能完全适用于所有 View Controller 。我尝试了以下代码:

navigationController.navigationBar.barTintColor = UIColor.greenColor()

tabBarController.tabBar.tintColor = UIColor.yellowColor()

但是,如何在一个适用于所有屏幕的地方进行编码?我使用的是 swift 3.0

最佳答案

使用UIAppearance对象。您可以在这里找到管理它的快速教程:http://nshipster.com/uiappearance/

无论如何,只需调用 UINavigationBar 的类方法 appearance() 即可,如下所示:

UINavigationBar.appearance().YOUR_PROPERTY = YOUR_VALUE

尝试在 AppDelegate 中调用它,因为它应该在显示任何 UINavigationBar 之前执行

关于ios - 如何设置所有 View Controller 导航栏的默认导航栏颜色、文本颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36744987/

相关文章:

Swift MacOX - Popover segue 创建多个 View Controller 实例,但在它们被关闭时不会销毁它们

ios - 无法使用类型为 '[[String : AnyObject]]' 的索引下标类型为 'String' 的值

objective-c - 如何使用不同的 init 方法在 XIB 中创建自定义 View ?

ios - 监控指定时间内UITextField文本变化

android - css only android 和 IOS 上的纵向模式

swift - 如何防止表格单元格在 Swift 中继承

ios - 尝试构建登录时出现条件绑定(bind)错误的初始化程序

swift - 如何将一个标签(主 Storyboard)的数据传递到另一个标签(第二个 Storyboard)

ios - 多个 iOS GET 请求(动态请求数)

Android、iOS 和 Windows 8 包名称