在自定义导航栏中设置条形按钮项目颜色

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在自定义导航栏中设置条形按钮项目颜色相关的知识,希望对你有一定的参考价值。

我使用XIB创建了自定义导航栏和右侧导航按钮。这很好用。但我需要自定义右侧导航按钮的色调颜色。此时此色调颜色与导航栏的色调颜色相同。这个右键我需要不同的颜色。有没有办法改变这种颜色?

谢谢。

答案

据我所知,按钮继承了导航栏的色调颜色。您可以做的是为navigationItem设置自定义视图:

这是您使用SDK的一个按钮设置它的方法:

UIBarButtonItem *shareButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(shareButtonHandler:)];

[self.navigationItem setRightBarButtonItem:shareButton];
[shareButton release];

相反,你可以这样做:

UIBarButtonItem *btn = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"yourImage.png" style:UIBarButtonItemStyleBordered target:self action:@selector(customButtonHandler:)]];

使用你在photoshop等制作的图像

你可以使用als an initWithCustomView:UIViewinitWithTitle:NSString

对不起没有“一线解决方案”:)

另一答案

ios 5中有“外观”功能:

[[UIBarButtonItem appearance] setTintColor:YOUR_COLOR];

另一答案

Swift 3.x

UIBarButtonItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName : Color.primaryActionColor], for: .normal)
另一答案

如果您有自定义视图的导航栏按钮项,则应首先转换为UIButton:

navigationItem.rightBarButtonItem?.customView as? UIButton

然后你可以添加UIButton的属性,例如:

button.setTitleColor(UIColor.black.withAlphaComponent(0.1), for: .normal)

以上是关于在自定义导航栏中设置条形按钮项目颜色的主要内容,如果未能解决你的问题,请参考以下文章

iOS中设置导航栏标题的字体颜色和大小

转iOS中设置导航栏标题的字体颜色和大小

如何在所有场景中设置导航栏背景颜色

无法在导航栏中设置左栏按钮项?

如何在更多视图控制器的导航栏中设置图像并将更多标签的颜色从白色更改为绿色..?

在 SwiftUI 中设置导航栏项目样式