我有一个推动UIViewController的导航控制器。我想在用户按下某个按钮时更改导航项目的后退按钮的色调。这可能吗?我曾尝试使用[UIBarButtonItem appearance] setTintColor:
,但它只适用于初始化(例如在viewDidLoad中),否则不起作用。iOS:更改后退按钮的色调颜色?
回答
试试这个......
您需要使用的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];
并把按钮,导航栏,通常与UINavigationController的控制器:
self.navigationItem.leftBarButtonItem = buttonItem;
在那个叫上你的按钮点击的方法,只是把[self.navigationItem.backBarButtonItem setTintColor:[UIColor *whateverColorYouWant*]]
;我没有测试过,但我99%肯定会工作
编辑: 只是测试它,它的工作原理。
下面是改变后退按钮的文本和彩色代码:
- (void)viewDidLoad
{
UIBarButtonItem *backButton = [UIBarButtonItem new];
[backButton setTitle:@"Back"];
[backButton setTintColor:[UIColor yellowColor]];
[[self navigationItem] setBackBarButtonItem:backButton];
}
这实际上工作吗?我记得你需要使用setLeftBarButtonItem和你的自定义按钮并将hidesBackbutton设置为TRUE,但是你不能覆盖后台按钮项属性(因为它是在导航时生成的)... – EeKay
对我来说,最简单的事情就是要为所有uibarbutton项目着色颜色:
[[UIBarButtonItem appearance]setTintColor:[UIColor yourColor]];
然后明确设置我的导航栏,以其他的色彩营造出&地方明确navigationbuttons的tintcolor ...
为我节省了C的头痛当我想要做的事情是改变色彩时,重新定制后扣。
这只适用于普通的酒吧按钮。但不适用于后退按钮。 –
试试这个:
[[UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class],[UIToolbar class], nil] setTintColor:[UIColor redColor]];
- 1. 更改UINavigationController后退按钮的颜色
- 2. 更改UIPopoverController颜色(和后退按钮颜色)
- 3. 更改后退按钮中箭头的颜色iOS
- 4. 更改抽屉式导航按钮(后退按钮)的颜色?
- 5. iOS:更改MFMailComposeViewController中的草稿按钮色调颜色
- 6. iOS - 按下按钮后更改按钮颜色不起作用
- 7. 更改颜色的按钮
- 8. 如何更改后退按钮的颜色?
- 9. Ruby Motion如何更改后退按钮的默认颜色?
- 10. 如何更改导航栏中的后退按钮颜色?
- 11. 如何更改DetailViewController中的后退按钮颜色?
- 12. 更改UITableView“后退按钮”到不同的颜色
- 13. 更改WinJS.UI.BackButton的颜色(Win 8.1后退按钮)
- 14. IBAction按钮更改颜色?
- 15. 更改按钮颜色
- 16. 按钮更改颜色
- 17. 更改按钮颜色
- 18. 更改AlertDialog.Builder按钮颜色
- 19. 更改radcombobox按钮颜色
- 20. 更改按钮颜色onClick
- 21. 如何更改颜色后退按钮在Ioinc2
- 22. 在xamarin中更改导航栏后退按钮颜色android
- 23. IOS 5如何更改导航栏中后退按钮的颜色?
- 24. ActionBarSherlock后退按钮颜色变化?
- 25. 导航栏后退按钮颜色
- 26. 更改按钮颜色作为背景颜色更改?
- 27. IOS:改变按钮的颜色
- 28. 更改TextView按下按钮的颜色
- 29. 更改活动共享中按钮的色调颜色
- 30. 如何更改iOS7中UISearchBar的取消按钮色调颜色
我只是想这和它的坠毁是因为backBarButtonItem为空。任何想法,为什么这将是如何解决它? –
你是否试图改变后退按钮的颜色(它是一种类似箭头的形状)?如果它只是一个常规的barButtonItem,那么你可以尝试改变leftBarButtonItem和rightBarButtonItem的tintColor。 –
我的意思是导航控制器提供的箭头形状后退按钮,而不是我添加的按钮。 –