我正在尝试在运行时更改Navbar色调,我可以更改导航栏色调,但是左右按钮(iOS 7上的系统蓝色)已更改,所以我正在尝试迫使他们回到系统蓝色。这是我正在使用的代码,从viewDidLoad调用:我已经尝试了NSForegroundColorAttributeName和UITextAttributeTextColor,但我不断获得白色或黑色文本,具体取决于导航栏的颜色。
如何让按钮显示蓝色文字?
NSDictionary *btnAttr = [NSDictionary dictionaryWithObjectsAndKeys:
[UIFont boldSystemFontOfSize:14], UITextAttributeFont,
[UIColor blueColor], NSForegroundColorAttributeName,
nil];
for(UIView *v in [theView.view allSubViews])
{
if([v isKindOfClass:[UINavigationItem class]])
{
UINavigationItem *btn = (UINavigationItem *)v;
[btn.leftBarButtonItem setTitleTextAttributes:btnAttr forState:UIControlStateNormal];
[btn.rightBarButtonItem setTitleTextAttributes:btnAttr forState:UIControlStateNormal];
}
}
答案 0 :(得分:4)
在iOS7中,如果您需要更改导航栏按钮颜色,则需要设置tintColor
:
navigationController.navigationBar.tintColor = [UIColor blueColor];
为了更好地理解,请查看以下图片: