是否可以在 iOS 中为两个视图控制器应用两种导航颜色

Posted

技术标签:

【中文标题】是否可以在 iOS 中为两个视图控制器应用两种导航颜色【英文标题】:is it possible to apply two navigation colors for two view controller in iOS 【发布时间】:2015-03-08 15:40:23 【问题描述】:

我遇到的情况是,我需要将蓝色作为第一个视图的导航栏颜色,而对于第二个视图,我应该将其设置为绿色。当我尝试使用以下代码应用它时。

在第一个视图的 viewdidload 中: self.navigationController.navigationBar.barTintColor = [UIColor bluecolor];

在第二个视图中确实加载了视图: self.navigationController.navigationBar.barTintColor = [UIColor greenColor];

颜色与第一个视图相同,我无法更改它,以及如何消除导航栏上的玻璃效果。

【问题讨论】:

***.com/q/26256149/643383 会回答您的问题吗?此外,不清楚您所说的 玻璃效果 是什么意思,但 UINavigationBar 有一个 translucent 属性,您可以将其设置为 NO 尝试把你的代码放到viewDidAppear中 我在 viewdidappear 中有位置,但结果相同。我无法更改颜色 【参考方案1】:

在视图层次结构中选择导航控制器(在 Storyboard 中),选择导航栏,然后您可以在属性检查器中设置颜色。

【讨论】:

我不怀疑这可能会奏效,但 OP 似乎正在寻找一种程序化解决方案。 我已将导航栏中的顶部栏更改为不透明,但如何更改故事板中导航栏的颜色 @user3816512 什么意思?

以上是关于是否可以在 iOS 中为两个视图控制器应用两种导航颜色的主要内容,如果未能解决你的问题,请参考以下文章

是否可以从标签栏控制器导航到另一个标签栏控制器?

iOS 7:在底部导航栏的表格视图之间滑动

使用 Appdelegate 在 IOS Swift 中为所有视图控制器创建 Firebase CRUD 方法

iOS:为啥不显示导航栏?

iOS – 在导航堆栈中显示一个视图控制器

iOS - 通过在左边缘平移弹出视图控制器,导航栏消失