UINavigationBar按钮颜色

时间:2010-01-19 21:42:46

标签: iphone button colors uinavigationbar

如何更改UINavigationBar中按钮的颜色?例如,我使用浅灰色背景的UINavigationBar,我需要按钮为深灰色(几乎是黑色)。为所有按钮类型提供一个解决方案将很酷,即后退按钮,带图像的按钮,带文本的按钮

感谢

2 个答案:

答案 0 :(得分:2)

这是一个糟糕的黑客,但是当放在-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的色调 - 这就是用于导航后退按钮的内容。如果有人找到影响他们的方法,请告诉我。

答案 1 :(得分:1)