如何在 iphone 中为导航栏添加自定义颜色?
Posted
技术标签:
【中文标题】如何在 iphone 中为导航栏添加自定义颜色?【英文标题】:How to add custom color to navigation bar in iphone? 【发布时间】:2011-07-31 10:44:57 【问题描述】:如何将导航栏设置为自定义颜色(例如深绿色)?
我知道如何使用如下代码将导航栏更改为绿色和红色等原色:
UINavigationBar *bar = [self.navigationController navigationBar];
[bar setTintColor:[UIColor redColor]];
谢谢。
【问题讨论】:
【参考方案1】:像这样使用 RGB 值:
UINavigationBar *bar = [self.navigationController navigationBar];
[bar setTintColor:[UIColor colorWithRed:0.5 green:0.5 blue:0.5 alpha:1.0]];
【讨论】:
谢谢这工作,但我能知道深绿色的 RGB 值是多少 我有颜色,但我现在想让我的酒吧有点不透明。怎么可能。谢谢 第二行代码应该是 [bar setTintColor:[UIColor colorWithRed:0.5 green:0.5 blue:0.5 alpha:1.0]]; ios7 以上setTintColor
不起作用。请改用setBarTintColor
。【参考方案2】:
[[UINavigationBar appearance] setTintColor:[UIColor colorWithRed:107.0/255.0 green:145.0/255.0 blue:35.0/255.0 alpha:1.0]];
将此代码放在Appdelegate的didfinislaunching
方法中。它将改变整个应用导航栏的颜色。
【讨论】:
抱歉,您不应该除以 255 而不是 256 吗? @PaperThick 感谢您注意到这一点。 它对我不起作用。会不会是加载我的视图会以某种方式覆盖它? @9000 可能在 viewDidLoad 或 viewWillAppear 中,或者 viewDidAppear 覆盖了这个。你可以在你的视图控制器中交叉检查。 我的错,我以为这是关于状态栏的。不同于导航栏。【参考方案3】:以及更改导航栏背景的色调:
[self.navBar setBarTintColor:[UIColor colorWithRed:0.701 green:0.926 blue:0.000 alpha:1.000]];
【讨论】:
【参考方案4】:[bar setTintColor:[UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:1.0]]
如documentation 中所述,还有许多其他方法可以从不同种类的组件中获取颜色。
【讨论】:
【参考方案5】:为了快速,改变导航栏背景的色调:
navigationController?.navigationBar.barTintColor = UIColor.red
【讨论】:
【参考方案6】:这样使用,
UINavigationBar *bar = [self.navigationController navigationBar];
bar.barTintColor = [UIColor colorWithRed:0.5 green:0.5 blue:0.5 alpha:1.0];
【讨论】:
以上是关于如何在 iphone 中为导航栏添加自定义颜色?的主要内容,如果未能解决你的问题,请参考以下文章
如何创建自定义标签栏...在标签栏中添加自定义图像(无需 xib 更改)