在iOS 6中更改当前ViewController上的BackBarButtonim颜色

在iOS 6中更改当前ViewController上的BackBarButtonim颜色,ios,cocoa-touch,backbarbuttonitem,Ios,Cocoa Touch,Backbarbuttonitem,我在UIPopoverController中有一个UINavigationController(带有UITableView)。当我在表格视图中选择一行时,我将推送到一个新的UIViewController。此视图有一个带有后退按钮的导航栏。视图中有一个按钮。当我按下这个按钮时,我想让后退按钮改变颜色。这需要在iOS 6中工作。这在不创建自定义按钮的情况下是否可行 以下是我尝试过的: - (IBAction)changeColor:(id)sender { self.navigationI

我在UIPopoverController中有一个UINavigationController(带有UITableView)。当我在表格视图中选择一行时,我将推送到一个新的UIViewController。此视图有一个带有后退按钮的导航栏。视图中有一个按钮。当我按下这个按钮时,我想让后退按钮改变颜色。这需要在iOS 6中工作。这在不创建自定义按钮的情况下是否可行

以下是我尝试过的:

- (IBAction)changeColor:(id)sender
{
    self.navigationItem.backBarButtonItem.tintColor = [UIColor redColor];

    [[UIBarButtonItem appearance] setTintColor:[UIColor redColor]];

    [[UINavigationBar appearance] setTintColor:[UIColor redColor]];

    self.backButton.tintColor = [UIColor redColor]; // Created a UIBarButtonItem outlet and connected it in IB 
}

您可以为按钮创建一个插座,然后更改色调颜色

@property (nonatomic, weak) UIBarButtonItem *item;
然后

-(void)buttonClicked { //or whatever method gets called with the button click
item.tintColor =  [UIColor blueColor]; 
//or 
item.tintColor = [UIColor redColor];
}
对于导航控制器,您只需执行以下操作

    self.navigationItem.backBarButtonItem.tintColor = [UIColor blueColor];
你可以用

self.navigationController.navigationBar.tintColor = [UIColor blueColor];

在loadView或viewDidLoad中,它是导航控制器吗?是的,此视图是从导航控制器推送的。是否确实调用了此方法?您可以放置日志语句或断点。是的,正在调用该方法。我需要在加载视图后执行此操作。覆盖视图将从UIViewController中显示并添加代码如果我将代码放置在视图中,将在加载视图时调用它。我需要在加载视图后按下按钮时发生这种情况。此解决方案会随按钮一起更改导航栏的颜色。我只想让按钮改变颜色。它在流行音乐中也不起作用。你说的方法是什么意思?色彩?像propertyYeah,对不起,我的意思是你提供的两个解决方案不起作用。我编辑了我的问题,更详细地介绍了我的应用程序是如何设置的。