导航栏按钮颜色

4
如何更改UINavigationBar中按钮的颜色?例如,我使用具有浅灰色背景的UINavigationBar,并且需要按钮为深灰色(几乎是黑色)。最好有一个适用于所有按钮类型的解决方案,即返回按钮,带图像的按钮和带文本的按钮。
谢谢。

你是在谈论通过代码还是通过界面构建器来完成这个操作? - shawnwall
1个回答

2

这是一种可怕的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的色调 - 这是用于导航返回按钮的。如果有人找到影响它们的方法,请告诉我。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接