如何更改UINavigationBar中按钮的颜色?例如,我使用具有浅灰色背景的UINavigationBar,并且需要按钮为深灰色(几乎是黑色)。最好有一个适用于所有按钮类型的解决方案,即返回按钮,带图像的按钮和带文本的按钮。
谢谢。
谢谢。
这是一种可怕的hack,但是当放置在-viewDidAppear:方法中时,它将更改UINavigationButtons的背景颜色(实际上是色调)。
UINavigationBar *navBar = [[self navigationController] navigationBar];
for (UIView *subview in [navBar subviews])
{
if ([NSStringFromClass([subview class]) isEqualToString:@"UINavigationButton"])
{
if (![[subview title] isEqualToString:@"Done"])
[subview setTintColor:[UIColor colorWithRed:255.0/255.0 green:0.0/255.0 blue:0.0/255.0 alpha:1.0]];
}
}
它不会改变UINavigationItemButtonViews的色调 - 这是用于导航返回按钮的。如果有人找到影响它们的方法,请告诉我。