UIBarButtonItem 是蓝色的,但应该是灰色的

Posted

技术标签:

【中文标题】UIBarButtonItem 是蓝色的,但应该是灰色的【英文标题】:UIBarButtonItem is blue but should be gray 【发布时间】:2015-02-19 19:01:06 【问题描述】:

我正在尝试向我的 UINavigationBar 添加一些按钮。看来我不能只是将一个项目拖放到栏中,这是正确的吗?所以我在下面使用这段代码,但由于某种原因,我使用的 cog 图标显示为蓝色,但实际上是灰色。如何使用原始图像颜色?任何帮助将不胜感激!

self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"cog"] style:UIBarButtonItemStylePlain target:nil action:nil];

【问题讨论】:

【参考方案1】:

创建图片时需要明确指定渲染模式,如this 回答:

UIImage *image = [[UIImage imageNamed:@"cog"] imageWithRenderingMode: UIImageRenderingModeAlwaysOriginal];
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithImage:image style:UIBarButtonItemStylePlain target:nil action:nil];

【讨论】:

【参考方案2】:

更改导航栏的色调UIBarButtonItem 以获得所需的结果。

如果您需要在整个应用中更改色调颜色,请更新 AppDelegate.m

中的 [UINavigationBar appearance]

【讨论】:

以上是关于UIBarButtonItem 是蓝色的,但应该是灰色的的主要内容,如果未能解决你的问题,请参考以下文章

自定义“按下” UIBarButtonItem 背景

如何解决 UIBarButtonItem 的色调问题?

如何避免 UIToolbar 的 tintColor 改变 UIButtonItem 按钮颜色?

UIBarButtonItem 图像未显示,但显示为红色方块

如何颜色选择 UIBarButtonItem tintColor

UIBarButtonItem 未显示在子视图中