我在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
}
答案 0 :(得分:3)
你可以使用
self.navigationController.navigationBar.tintColor = [UIColor blueColor];
在loadView或viewDidLoad
中答案 1 :(得分:0)
您可以为按钮创建一个插座,然后更改色调颜色
@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];