Ios 如何在导航栏中设置单个uibarbuttonite的色调

Ios 如何在导航栏中设置单个uibarbuttonite的色调,ios,ios7,ios8,uibarbuttonitem,tintcolor,Ios,Ios7,Ios8,Uibarbuttonitem,Tintcolor,我有一个UINavigationBar,其外观设置为蓝色: [UINavigationBar appearance].tintColor = [UIColor blueColor]; 在导航过程中,我有一个连接到插座的UIBarButtonItem,我想要红色!我很天真地希望我的工具栏上的所有其他按钮都保持蓝色,于是我尝试在视图中显示:回调: self.myOughtToBeRedButton.tintColor = [UIColor redColor]; 你猜怎么着?它还是蓝色的 如果有人

我有一个
UINavigationBar
,其外观设置为蓝色:

[UINavigationBar appearance].tintColor = [UIColor blueColor];
在导航过程中,我有一个连接到插座的
UIBarButtonItem
,我想要红色!我很天真地希望我的工具栏上的所有其他按钮都保持蓝色,于是我尝试在
视图中显示:
回调:

self.myOughtToBeRedButton.tintColor = [UIColor redColor];
你猜怎么着?它还是蓝色的

如果有人有想法。。。我需要在iOS 7和iOS 8上对其进行tun


提前感谢。

您可以通过在
viewDidLoad
中设置
UIBarButtonItem
的标题文本属性来完成此操作:

actionButtonItem.setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.redColor()], forState: .Normal)

该单个按钮将为红色,其余项目将使用导航栏的
tintColor
。无需自定义按钮。

如果要保留原始UIBarButton图像。在Images.xcsets处更改渲染类型o。像这样:


是否要更改UIBarButtonItem文本颜色?是的,完全正确!这是tintColor应该做的(至少是它在界面生成器中做的)尝试将代码移动到ViewDidDisplay:也不起作用,但感谢您的评论。创建自定义栏按钮可能是解决此问题的一个方法。谢谢你的回答,但这只会改变文本的颜色。我需要更改色调,例如当按钮显示图示符时。