导航栏的自定义 barTintColor

Posted

技术标签:

【中文标题】导航栏的自定义 barTintColor【英文标题】:Custom barTintColor for navigationBar 【发布时间】:2015-07-09 14:47:57 【问题描述】:

我正在尝试为我的应用导航栏自定义颜色,但它没有正确显示。我需要使用的确切颜色的十六进制代码是蓝色#023883。我从这个站点查找了 rbg 百分比:http://www.colorhexa.com/023883,百分比是:rgb(0.8%,22%,51.4%)。我把它放在我的代码中是这样的:

self.navigationController.navigationBar.barTintColor = [UIColor 
colorWithRed:0.8 green:22 blue:51.4 alpha:1.0]; 

self.navigationController.navigationBar.titleTextAttributes = 
@NSForegroundColorAttributeName : [UIColor lightGrayColor]; 

self.navigationController.navigationBar.backgroundColor = [UIColor 
whiteColor]; 

self.navigationController.navigationBar.translucent = YES;

我还尝试实现允许使用输入十六进制代码作为颜色值的代码,但这也不起作用。我还有其他方法可以实现这种颜色吗? (我也尝试只将蓝色设置为 100,但颜色仍然不够深)

【问题讨论】:

你使用故事板 是的,我正在使用故事板 我投赞成票,祝你有美好的一天,我也面临开始的问题,现在只有在我的回答中才能轻松优化编码和时间。 【参考方案1】:

你忘了%,应该是

 self.navigationController.navigationBar.barTintColor = [UIColor
                                                        colorWithRed:0.008 green:0.22 blue:0.514 alpha:1.0];

编辑,关于如何让statusBar变白

    info.plist文件View controller-based status bar appearance中将此键设置为NO。单击信息属性列表右侧的plus图标,然后单击@ 987654327@在新行,会自动补全,第一个就是这个key

    应用内委托

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
    // Override point for customization after application launch.
    [application setStatusBarStyle:UIStatusBarStyleLightContent];
    return YES;
    
    

【讨论】:

知道如何将状态栏更改为白色吗? 我似乎在我的项目的两个 .plist 文件中都找不到“基于视图控制器的状态栏外观” 查看更新图片。需要添加新的key-value【参考方案2】:

第一步

选择您的NavigationController

步骤 - 2

选择Navigation bar

第三步

可以获取导航栏属性

Step -4在这里你可以更改TitleFontBackground color

状态栏 - 透明

Target --> Genral --> U得到以下结果更改Status Bar Style --> Light,请按照图片。

不要忘记在plist中设置NO String Name is --> View controller-based status bar appearance

【讨论】:

请看我的更新答案 它在所有视图控制器中都会受到影响,无论您在导航控制器中添加了什么【参考方案3】:

您使用 colorWithRed:green:blue:alpha 错误。 您应该输入百分比(在您的情况下为 0.8、22 和 51.4),但输入方式错误。

请改为输入 0.008、0.22 和 0.514:

 self.navigationController.navigationBar.barTintColor = [UIColor colorWithRed:0.008 green:0.22 blue:0.514 alpha:1.0]; 

【讨论】:

知道如何将状态栏更改为白色吗? 通过将barTintColor 设置为白色(导航栏)。编辑:误读了您的问题,请参阅@Leo 的答案。 再次感谢! (我没有足够的分数给你一个赞成票,但我离我还有 2 分,当我得到它时会这样做!)

以上是关于导航栏的自定义 barTintColor的主要内容,如果未能解决你的问题,请参考以下文章

创建导航栏的自定义实现

我的导航栏的自定义 UIColor

导航条的自定义:背景颜色设置,按钮标题图片设置,图片坐标修改

顶部栏的自定义下拉菜单[关闭]

iOS 7导航栏barTintColor - 能够让它从上到下淡化吗?

Gatsbyjs 中的自定义导航栏