我使用以下代码显示导航栏上的按钮:
UIBarButtonItem *barButton = [[UIBarButtonItem alloc] initWithTitle:@"Save" style:UIBarButtonItemStyleDone target:self action:@selector(saveData:)];
barButton.tintColor = [UIColor colorWithRed:170/255.0 green:210/255.0 blue:87/255.0 alpha:1.0];
barButton.tag = 001;
[buttonArray addObject:barButton];
此代码在iOS 5和6上正常工作。但在iOS 7按钮上采用导航栏颜色。 点击任何按钮后,所有按钮的颜色都会变为浅色。
我搜索了很多小时但却找不到解决方案。
任何人都可以帮助我。
答案 0 :(得分:0)
尝试执行以下操作:
navigationController.navigationBar.tintColor = [UIColor colorWithRed:170/255.0 green:210/255.0 blue:87/255.0 alpha:1.0];
在iOS7中,您需要设置tintColor
以更改条形按钮色调。
答案 1 :(得分:0)
我能够解决这个错误。我使用导航栏的背景图像,并使用BarButton颜色作为导航栏色调。我使用了以下代码:
self.navigationController.navigationBar.tintColor = [UIColor lightGrayColor];
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"BarBackground.png"] forBarMetrics:UIBarMetricsDefault];
答案 2 :(得分:0)
//栏按钮正常状态标题颜色。
[cancelBarButton setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor whiteColor], NSFontAttributeName:[UIFont normalStateFont]} forState:UIControlStateNormal];
// Bar button Highlighted State title color.
[cancelBarButton setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor yellowColor], NSFontAttributeName:[UIFont yourHighlightedFont]} forState:UIControlStateHighlighted];