iOS:改变后退按钮的色调?

Ale*_*987 4 iphone uikit uibarbuttonitem ipad ios

我有一个推动UIViewController的导航控制器.当用户按下某个按钮时,我想更改导航项的后退按钮的色调颜色.这可能吗?我尝试过使用[UIBarButtonItem appearance] setTintColor:但它只适用于初始化(例如在viewDidLoad中)而不是其他方式.

Wol*_*ine 7

试试这个......

您需要将UIBarButtonItem与自定义视图一起使用.像这样的东西:

UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 70, 30)];
[button addTarget:target action:@selector(back:) forControlEvents:UIControlEventTouchUpInside];
[button setImage:[UIImage imageNamed:@"back_button.png"] forState:UIControlStateNormal];
[button setImage:[UIImage imageNamed:@"back_button_tap.png"] forState:UIControlStateHighlighted];
UIBarButtonItem *buttonItem = [[UIBarButtonItem alloc] initWithCustomView:button];
Run Code Online (Sandbox Code Playgroud)

并将按钮放在导航栏中,通常在带有UINavigationController的控制器中:

self.navigationItem.leftBarButtonItem = buttonItem;
Run Code Online (Sandbox Code Playgroud)


EeK*_*Kay 7

对我来说最简单的事情是为所有uibarbutton项设置色调颜色:

[[UIBarButtonItem appearance]setTintColor:[UIColor yourColor]];
Run Code Online (Sandbox Code Playgroud)

然后显式设置tintcolor用于我创建的显式导航按钮并将其放置在导航栏上以显示其他颜色...

当我想要做的就是改变色调时,让我省去了创建自定义按钮的麻烦.