我正在尝试在运行时更改导航栏的色调,并且我能够更改导航栏的色调,但是左右按钮(在 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];
}
}